Linux server.uxijen.com 4.18.0-553.83.1.lve.el8.x86_64 #1 SMP Wed Nov 12 10:04:12 UTC 2025 x86_64
LiteSpeed
Server IP : 94.177.147.70 & Your IP : 216.73.216.26
Domains :
Cant Read [ /etc/named.conf ]
User : uxijen
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
bin /
Delete
Unzip
Name
Size
Permission
Date
Action
GET
15.84
KB
-rwxr-xr-x
2022-04-22 20:13
Mail
408.89
KB
-rwxr-xr-x
2019-10-13 00:19
[
53.58
KB
-rwxr-xr-x
2025-12-18 13:54
aclocal
35.62
KB
-rwxr-xr-x
2023-10-14 20:00
aclocal-1.16
35.62
KB
-rwxr-xr-x
2023-10-14 20:00
addr2line
33.42
KB
-rwxr-xr-x
2025-12-18 14:21
animate
11.84
KB
-rwxr-xr-x
2025-04-01 13:15
ar
61.96
KB
-rwxr-xr-x
2025-12-18 14:21
arch
37.34
KB
-rwxr-xr-x
2025-12-18 13:54
arpaname
11.82
KB
-rwxr-xr-x
2025-11-06 07:45
as
889.91
KB
-rwxr-xr-x
2025-12-18 14:21
aspell
159.5
KB
-rwxr-xr-x
2022-04-18 15:10
at
1.01
KB
-rwxr-xr-x
2022-10-10 10:23
atq
1.01
KB
-rwxr-xr-x
2022-10-10 10:23
atrm
1.02
KB
-rwxr-xr-x
2022-10-10 10:23
autoconf
14.42
KB
-rwxr-xr-x
2024-08-13 19:30
autoheader
8.33
KB
-rwxr-xr-x
2024-08-13 19:30
autom4te
31.43
KB
-rwxr-xr-x
2024-08-13 19:30
automake
251.9
KB
-rwxr-xr-x
2023-10-14 20:00
automake-1.16
251.9
KB
-rwxr-xr-x
2023-10-14 20:00
autoreconf
20.57
KB
-rwxr-xr-x
2024-08-13 19:30
autoscan
16.72
KB
-rwxr-xr-x
2024-08-13 19:30
autoupdate
33.08
KB
-rwxr-xr-x
2024-08-13 19:30
awk
669.77
KB
-rwxr-xr-x
2022-04-18 15:56
b2sum
57.69
KB
-rwxr-xr-x
2025-12-18 13:54
base32
41.47
KB
-rwxr-xr-x
2025-12-18 13:54
base64
41.49
KB
-rwxr-xr-x
2025-12-18 13:54
basename
37.41
KB
-rwxr-xr-x
2025-12-18 13:54
bash
1.1
MB
-rwxr-xr-x
2025-08-26 08:48
bashbug-64
7.18
KB
-rwxr-xr-x
2025-08-26 08:48
batch
137
B
-rwxr-xr-x
2022-10-10 10:23
bison
437.72
KB
-rwxr-xr-x
2019-10-12 12:28
bunzip2
36.86
KB
-rwxr-xr-x
2025-01-28 01:38
bzcat
36.86
KB
-rwxr-xr-x
2025-01-28 01:38
bzcmp
2.08
KB
-rwxr-xr-x
2025-01-28 01:38
bzdiff
2.08
KB
-rwxr-xr-x
2025-01-28 01:38
bzgrep
1.64
KB
-rwxr-xr-x
2025-01-28 01:38
bzip2
36.86
KB
-rwxr-xr-x
2025-01-28 01:38
bzip2recover
16.44
KB
-rwxr-xr-x
2025-01-28 01:38
bzless
1.23
KB
-rwxr-xr-x
2025-01-28 01:38
bzmore
1.23
KB
-rwxr-xr-x
2025-01-28 01:38
c++
1.21
MB
-rwxr-xr-x
2025-08-26 09:47
c++filt
28.89
KB
-rwxr-xr-x
2025-12-18 14:21
c89
224
B
-rwxr-xr-x
2025-08-26 09:45
c99
215
B
-rwxr-xr-x
2025-08-26 09:45
cagefs_enter.proxied
1.03
KB
-rwxr-xr-x
2025-05-26 11:13
cal
65.98
KB
-rwxr-xr-x
2025-12-18 13:44
captoinfo
85.31
KB
-rwxr-xr-x
2023-10-14 18:54
cat
37.46
KB
-rwxr-xr-x
2025-12-18 13:54
catchsegv
3.21
KB
-rwxr-xr-x
2025-12-08 09:36
cc
1.21
MB
-rwxr-xr-x
2025-08-26 09:47
chcon
70.34
KB
-rwxr-xr-x
2025-12-18 13:54
chgrp
66.27
KB
-rwxr-xr-x
2025-12-18 13:54
chmod
62.2
KB
-rwxr-xr-x
2025-12-18 13:54
chown
70.29
KB
-rwxr-xr-x
2025-12-18 13:54
chrt
37.19
KB
-rwxr-xr-x
2025-12-18 13:44
cksum
37.39
KB
-rwxr-xr-x
2025-12-18 13:54
cldetect
10.34
KB
-rwxr-xr-x
2025-10-07 07:58
clear
12.54
KB
-rwxr-xr-x
2023-10-14 18:54
cloudlinux-awp-user
1.78
KB
-rwxr-xr-x
2025-09-29 13:34
clwpos-user
1.78
KB
-rwxr-xr-x
2025-09-29 13:34
cmp
103.76
KB
-rwxr-xr-x
2020-05-04 15:15
col
29.01
KB
-rwxr-xr-x
2025-12-18 13:44
colcrt
16.48
KB
-rwxr-xr-x
2025-12-18 13:44
colrm
24.88
KB
-rwxr-xr-x
2025-12-18 13:44
column
49.47
KB
-rwxr-xr-x
2025-12-18 13:44
comm
41.56
KB
-rwxr-xr-x
2025-12-18 13:54
compare
11.85
KB
-rwxr-xr-x
2025-04-01 13:15
composite
11.84
KB
-rwxr-xr-x
2025-04-01 13:15
conjure
11.84
KB
-rwxr-xr-x
2025-04-01 13:15
convert
11.84
KB
-rwxr-xr-x
2025-04-01 13:15
cp
148.02
KB
-rwxr-xr-x
2025-12-18 13:54
cpan
8.17
KB
-rwxr-xr-x
2025-06-03 14:32
cpp
1.21
MB
-rwxr-xr-x
2025-08-26 09:47
crontab
1.49
KB
-rwxr-xr-x
2024-04-06 11:40
crontab.cagefs
54.16
KB
-rwxr-xr-x
2025-11-05 09:23
csplit
53.68
KB
-rwxr-xr-x
2025-12-18 13:54
curl
230.08
KB
-rwxr-xr-x
2025-12-18 14:22
cut
49.52
KB
-rwxr-xr-x
2025-12-18 13:54
date
105.95
KB
-rwxr-xr-x
2025-12-18 13:54
dbiprof
6.06
KB
-rwxr-xr-x
2022-04-25 16:10
dd
77.97
KB
-rwxr-xr-x
2025-12-18 13:54
delv
42.46
KB
-rwxr-xr-x
2025-11-06 07:45
df
91.09
KB
-rwxr-xr-x
2025-12-18 13:54
diff
268.01
KB
-rwxr-xr-x
2020-05-04 15:15
diff3
128.6
KB
-rwxr-xr-x
2020-05-04 15:15
dig
162.18
KB
-rwxr-xr-x
2025-11-06 07:45
dir
139.9
KB
-rwxr-xr-x
2025-12-18 13:54
dircolors
49.55
KB
-rwxr-xr-x
2025-12-18 13:54
dirname
33.36
KB
-rwxr-xr-x
2025-12-18 13:54
display
11.84
KB
-rwxr-xr-x
2025-04-01 13:15
dnstap-read
20.43
KB
-rwxr-xr-x
2025-11-06 07:45
du
107
KB
-rwxr-xr-x
2025-12-18 13:54
echo
37.35
KB
-rwxr-xr-x
2025-12-18 13:54
egrep
28
B
-rwxr-xr-x
2019-10-11 15:15
enc2xs
40.97
KB
-rwxr-xr-x
2019-10-13 08:46
enchant
21.08
KB
-rwxr-xr-x
2019-10-23 20:03
enchant-lsmod
13.09
KB
-rwxr-xr-x
2019-10-23 20:03
env
41.35
KB
-rwxr-xr-x
2025-12-18 13:54
eps2eps
639
B
-rwxr-xr-x
2025-06-03 02:48
eqn
232.16
KB
-rwxr-xr-x
2019-10-13 14:29
ex
1.13
MB
-rwxr-xr-x
2025-10-12 00:23
expand
41.59
KB
-rwxr-xr-x
2025-12-18 13:54
expr
49.57
KB
-rwxr-xr-x
2025-12-18 13:54
factor
85.97
KB
-rwxr-xr-x
2025-12-18 13:54
false
33.32
KB
-rwxr-xr-x
2025-12-18 13:54
fc-cache
132
B
-rwxr-xr-x
2021-08-16 11:04
fc-cache-64
20.35
KB
-rwxr-xr-x
2021-10-09 09:02
fc-cat
16.35
KB
-rwxr-xr-x
2021-10-09 09:02
fc-conflist
12.25
KB
-rwxr-xr-x
2021-10-09 09:02
fc-list
12.25
KB
-rwxr-xr-x
2021-10-09 09:02
fc-match
16.26
KB
-rwxr-xr-x
2021-10-09 09:02
fc-pattern
12.26
KB
-rwxr-xr-x
2021-10-09 09:02
fc-query
12.24
KB
-rwxr-xr-x
2021-10-09 09:02
fc-scan
12.26
KB
-rwxr-xr-x
2021-10-09 09:02
fc-validate
16.26
KB
-rwxr-xr-x
2021-10-09 09:02
fgrep
28
B
-rwxr-xr-x
2019-10-11 15:15
file
24.69
KB
-rwxr-xr-x
2025-10-07 06:30
find
223.27
KB
-rwxr-xr-x
2025-12-18 14:57
flex
428.45
KB
-rwxr-xr-x
2019-10-12 12:33
flex++
428.45
KB
-rwxr-xr-x
2019-10-12 12:33
flock
33.2
KB
-rwxr-xr-x
2025-12-18 13:44
fmt
45.49
KB
-rwxr-xr-x
2025-12-18 13:54
fold
41.41
KB
-rwxr-xr-x
2025-12-18 13:54
free
20.79
KB
-rwxr-xr-x
2023-10-14 20:31
freetype-config
4.31
KB
-rwxr-xr-x
2025-03-31 19:37
funzip
36.63
KB
-rwxr-xr-x
2025-06-03 02:10
g++
1.21
MB
-rwxr-xr-x
2025-08-26 09:47
gawk
669.77
KB
-rwxr-xr-x
2022-04-18 15:56
gcc
1.21
MB
-rwxr-xr-x
2025-08-26 09:47
gcc-ar
36.66
KB
-rwxr-xr-x
2025-08-26 09:47
gcc-nm
36.66
KB
-rwxr-xr-x
2025-08-26 09:47
gcc-ranlib
36.66
KB
-rwxr-xr-x
2025-08-26 09:47
gcov
1.31
MB
-rwxr-xr-x
2025-08-26 09:47
gcov-dump
570.96
KB
-rwxr-xr-x
2025-08-26 09:47
gcov-tool
607.77
KB
-rwxr-xr-x
2025-08-26 09:47
gem
542
B
-rwxr-xr-x
2025-05-14 12:40
gencat
24.84
KB
-rwxr-xr-x
2025-12-08 09:43
geoiplookup
21.89
KB
-rwxr-xr-x
2019-11-28 22:06
geoiplookup6
21.65
KB
-rwxr-xr-x
2019-11-28 22:06
geqn
232.16
KB
-rwxr-xr-x
2019-10-13 14:29
getconf
32.46
KB
-rwxr-xr-x
2025-12-08 09:43
getent
33.13
KB
-rwxr-xr-x
2025-12-08 09:43
getopt
20.53
KB
-rwxr-xr-x
2025-12-18 13:44
ghostscript
12.35
KB
-rwxr-xr-x
2025-06-03 02:48
git
3.67
MB
-rwxr-xr-x
2025-07-23 06:59
git-receive-pack
3.67
MB
-rwxr-xr-x
2025-07-23 06:59
git-shell
2.13
MB
-rwxr-xr-x
2025-07-23 06:59
git-upload-archive
3.67
MB
-rwxr-xr-x
2025-07-23 06:59
git-upload-pack
3.67
MB
-rwxr-xr-x
2025-07-23 06:59
gm
7.84
KB
-rwxr-xr-x
2024-07-29 14:30
gmake
235.32
KB
-rwxr-xr-x
2022-04-18 16:38
gneqn
908
B
-rwxr-xr-x
2019-10-13 14:29
gnroff
3.23
KB
-rwxr-xr-x
2019-10-13 14:29
gpg
1.04
MB
-rwxr-xr-x
2022-09-13 10:15
gpg-agent
419.29
KB
-rwxr-xr-x
2022-09-13 10:15
gpg-error
34.16
KB
-rwxr-xr-x
2019-10-12 12:20
gpg-zip
3.44
KB
-rwxr-xr-x
2022-09-13 10:15
gpgsplit
87.02
KB
-rwxr-xr-x
2022-09-13 10:15
gpgv
451.58
KB
-rwxr-xr-x
2022-09-13 10:15
gpic
293.84
KB
-rwxr-xr-x
2019-10-13 14:29
gprof
103.35
KB
-rwxr-xr-x
2025-12-18 14:21
grep
193.63
KB
-rwxr-xr-x
2019-10-11 15:15
groff
124.92
KB
-rwxr-xr-x
2019-10-13 14:29
grops
191.14
KB
-rwxr-xr-x
2019-10-13 14:29
grotty
141.9
KB
-rwxr-xr-x
2019-10-13 14:29
groups
37.39
KB
-rwxr-xr-x
2025-12-18 13:54
gs
12.35
KB
-rwxr-xr-x
2025-06-03 02:48
gsnd
277
B
-rwxr-xr-x
2025-06-03 02:48
gsoelim
42.55
KB
-rwxr-xr-x
2019-10-13 14:29
gtar
448.99
KB
-rwxr-xr-x
2025-08-26 08:57
gtbl
154.61
KB
-rwxr-xr-x
2019-10-13 14:29
gtroff
805.02
KB
-rwxr-xr-x
2019-10-13 14:29
gunzip
2.29
KB
-rwxr-xr-x
2022-04-27 05:49
gzexe
6.23
KB
-rwxr-xr-x
2022-04-27 05:49
gzip
94.67
KB
-rwxr-xr-x
2022-04-27 05:49
h2ph
28.69
KB
-rwxr-xr-x
2025-07-28 08:08
h2xs
59.44
KB
-rwxr-xr-x
2025-07-28 08:07
head
45.5
KB
-rwxr-xr-x
2025-12-18 13:54
hexdump
57.5
KB
-rwxr-xr-x
2025-12-18 13:44
host
142.29
KB
-rwxr-xr-x
2025-11-06 07:45
hostid
33.34
KB
-rwxr-xr-x
2025-12-18 13:54
hostname
21.16
KB
-rwxr-xr-x
2019-10-11 13:06
hunspell
144.7
KB
-rwxr-xr-x
2019-10-13 08:33
iconv
61.43
KB
-rwxr-xr-x
2025-12-08 09:43
id
45.44
KB
-rwxr-xr-x
2025-12-18 13:54
identify
11.84
KB
-rwxr-xr-x
2025-04-01 13:15
idn
39.41
KB
-rwxr-xr-x
2019-10-13 16:55
ifnames
4.03
KB
-rwxr-xr-x
2024-08-13 19:30
import
11.84
KB
-rwxr-xr-x
2025-04-01 13:15
infocmp
61.05
KB
-rwxr-xr-x
2023-10-14 18:54
infotocap
85.31
KB
-rwxr-xr-x
2023-10-14 18:54
install
156.16
KB
-rwxr-xr-x
2025-12-18 13:54
instmodsh
4.1
KB
-rwxr-xr-x
2019-10-13 08:55
ionice
28.98
KB
-rwxr-xr-x
2025-12-18 13:44
ipcrm
28.99
KB
-rwxr-xr-x
2025-12-18 13:44
ipcs
53.4
KB
-rwxr-xr-x
2025-12-18 13:44
isosize
24.88
KB
-rwxr-xr-x
2025-12-18 13:44
ispell
988
B
-rwxr-xr-x
2022-04-18 15:10
join
53.7
KB
-rwxr-xr-x
2025-12-18 13:54
kill
37.28
KB
-rwxr-xr-x
2025-12-18 13:44
ld
1.71
MB
-rwxr-xr-x
2025-12-18 14:21
ld.bfd
1.71
MB
-rwxr-xr-x
2025-12-18 14:21
ldd
5.31
KB
-rwxr-xr-x
2025-12-08 09:36
less
173.76
KB
-rwxr-xr-x
2024-07-02 20:10
lessecho
12.4
KB
-rwxr-xr-x
2024-07-02 20:10
lesskey
21.99
KB
-rwxr-xr-x
2024-07-02 20:10
lesspipe.sh
3.07
KB
-rwxr-xr-x
2024-07-02 19:57
lex
428.45
KB
-rwxr-xr-x
2019-10-12 12:33
libnetcfg
15.41
KB
-rwxr-xr-x
2025-07-28 08:08
libtool
359.11
KB
-rwxr-xr-x
2019-10-11 14:55
libtoolize
126.17
KB
-rwxr-xr-x
2019-10-11 14:55
link
33.34
KB
-rwxr-xr-x
2025-12-18 13:54
ln
70.5
KB
-rwxr-xr-x
2025-12-18 13:54
locale
56.45
KB
-rwxr-xr-x
2025-12-08 09:43
localedef
307.47
KB
-rwxr-xr-x
2025-12-08 09:43
logger
49.98
KB
-rwxr-xr-x
2025-12-18 13:44
login
40.96
KB
-rwxr-xr-x
2025-12-18 13:44
logname
33.34
KB
-rwxr-xr-x
2025-12-18 13:54
look
16.45
KB
-rwxr-xr-x
2025-12-18 13:44
ls
139.89
KB
-rwxr-xr-x
2025-12-18 13:54
m4
185.56
KB
-rwxr-xr-x
2019-10-11 14:41
mail
408.89
KB
-rwxr-xr-x
2019-10-13 00:19
mailx
408.89
KB
-rwxr-xr-x
2019-10-13 00:19
make
235.32
KB
-rwxr-xr-x
2022-04-18 16:38
make-dummy-cert
610
B
-rwxr-xr-x
2024-10-09 13:39
mariadb
5.32
MB
-rwxr-xr-x
2025-11-03 13:43
mariadb-access
109.34
KB
-rwxr-xr-x
2025-11-03 13:34
mariadb-admin
4.87
MB
-rwxr-xr-x
2025-11-03 13:43
mariadb-binlog
5.16
MB
-rwxr-xr-x
2025-11-03 13:43
mariadb-check
4.87
MB
-rwxr-xr-x
2025-11-03 13:43
mariadb-conv
4.58
MB
-rwxr-xr-x
2025-11-03 13:43
mariadb-convert-table-format
4.12
KB
-rwxr-xr-x
2025-11-03 13:34
mariadb-dump
4.96
MB
-rwxr-xr-x
2025-11-03 13:43
mariadb-dumpslow
8.05
KB
-rwxr-xr-x
2025-11-03 13:34
mariadb-embedded
24.25
MB
-rwxr-xr-x
2025-11-03 13:43
mariadb-find-rows
3.21
KB
-rwxr-xr-x
2025-11-03 13:34
mariadb-hotcopy
34.53
KB
-rwxr-xr-x
2025-11-03 13:34
mariadb-import
4.86
MB
-rwxr-xr-x
2025-11-03 13:43
mariadb-plugin
4.56
MB
-rwxr-xr-x
2025-11-03 13:43
mariadb-secure-installation
13.49
KB
-rwxr-xr-x
2025-11-03 13:34
mariadb-setpermission
17.56
KB
-rwxr-xr-x
2025-11-03 13:34
mariadb-show
4.86
MB
-rwxr-xr-x
2025-11-03 13:43
mariadb-slap
4.88
MB
-rwxr-xr-x
2025-11-03 13:43
mariadb-tzinfo-to-sql
4.56
MB
-rwxr-xr-x
2025-11-03 13:43
mariadb-waitpid
4.55
MB
-rwxr-xr-x
2025-11-03 13:43
mcookie
33.27
KB
-rwxr-xr-x
2025-12-18 13:44
md5sum
45.54
KB
-rwxr-xr-x
2025-12-18 13:54
mesg
16.36
KB
-rwxr-xr-x
2025-12-18 13:44
mkdir
82.7
KB
-rwxr-xr-x
2025-12-18 13:54
mkfifo
66.46
KB
-rwxr-xr-x
2025-12-18 13:54
mknod
70.47
KB
-rwxr-xr-x
2025-12-18 13:54
mktemp
45.66
KB
-rwxr-xr-x
2025-12-18 13:54
mogrify
11.84
KB
-rwxr-xr-x
2025-04-01 13:15
montage
11.84
KB
-rwxr-xr-x
2025-04-01 13:15
more
44.94
KB
-rwxr-xr-x
2025-12-18 13:44
msql2mysql
1.41
KB
-rwxr-xr-x
2025-11-03 13:34
mv
143.95
KB
-rwxr-xr-x
2025-12-18 13:54
my_print_defaults
4.55
MB
-rwxr-xr-x
2025-11-03 13:43
mysql
5.32
MB
-rwxr-xr-x
2025-11-03 13:43
mysql_config
4.51
KB
-rwxr-xr-x
2025-11-03 13:34
mysql_find_rows
3.21
KB
-rwxr-xr-x
2025-11-03 13:34
mysql_waitpid
4.55
MB
-rwxr-xr-x
2025-11-03 13:43
mysqlaccess
109.34
KB
-rwxr-xr-x
2025-11-03 13:34
mysqladmin
4.87
MB
-rwxr-xr-x
2025-11-03 13:43
mysqlbinlog
5.16
MB
-rwxr-xr-x
2025-11-03 13:43
mysqlcheck
4.87
MB
-rwxr-xr-x
2025-11-03 13:43
mysqldump
4.96
MB
-rwxr-xr-x
2025-11-03 13:43
mysqlimport
4.86
MB
-rwxr-xr-x
2025-11-03 13:43
mysqlshow
4.86
MB
-rwxr-xr-x
2025-11-03 13:43
mytop
72.03
KB
-rwxr-xr-x
2025-11-03 13:34
namei
33.1
KB
-rwxr-xr-x
2025-12-18 13:44
nano
247.94
KB
-rwxr-xr-x
2024-09-24 02:16
neqn
908
B
-rwxr-xr-x
2019-10-13 14:29
nice
37.33
KB
-rwxr-xr-x
2025-12-18 13:54
nl
45.55
KB
-rwxr-xr-x
2025-12-18 13:54
nm
50.38
KB
-rwxr-xr-x
2025-12-18 14:21
nohup
37.41
KB
-rwxr-xr-x
2025-12-18 13:54
nproc
37.41
KB
-rwxr-xr-x
2025-12-18 13:54
nroff
3.23
KB
-rwxr-xr-x
2019-10-13 14:29
nslookup
146.26
KB
-rwxr-xr-x
2025-11-06 07:45
nsupdate
73.05
KB
-rwxr-xr-x
2025-11-06 07:45
numfmt
65.64
KB
-rwxr-xr-x
2025-12-18 13:54
objcopy
240.07
KB
-rwxr-xr-x
2025-12-18 14:21
objdump
419.76
KB
-rwxr-xr-x
2025-12-18 14:21
od
73.8
KB
-rwxr-xr-x
2025-12-18 13:54
openssl
745.95
KB
-rwxr-xr-x
2024-10-09 13:39
pango-list
11.88
KB
-rwxr-xr-x
2021-10-08 15:22
pango-view
57.44
KB
-rwxr-xr-x
2021-10-08 15:22
passwd
1.02
KB
-rwxr-xr-x
2022-04-18 22:59
paste
37.38
KB
-rwxr-xr-x
2025-12-18 13:54
patch
206.46
KB
-rwxr-xr-x
2020-06-01 15:14
pathchk
37.33
KB
-rwxr-xr-x
2025-12-18 13:54
pdf2dsc
698
B
-rwxr-xr-x
2025-06-03 02:48
pdf2ps
909
B
-rwxr-xr-x
2025-06-03 02:48
perl
12.43
KB
-rwxr-xr-x
2025-07-28 08:07
perl5.26.3
12.43
KB
-rwxr-xr-x
2025-07-28 08:07
perlbug
44.39
KB
-rwxr-xr-x
2025-07-28 08:08
perldoc
118
B
-rwxr-xr-x
2019-10-13 11:53
perlivp
10.56
KB
-rwxr-xr-x
2025-07-28 08:07
perlml
6.61
KB
-rwxr-xr-x
2025-10-02 19:40
perlthanks
44.39
KB
-rwxr-xr-x
2025-07-28 08:08
pgrep
28.84
KB
-rwxr-xr-x
2023-10-14 20:31
php
937
B
-rwxr-xr-x
2025-04-03 11:08
pic
293.84
KB
-rwxr-xr-x
2019-10-13 14:29
piconv
8.08
KB
-rwxr-xr-x
2019-10-13 08:46
ping
66.13
KB
-rwxr-xr-x
2023-10-14 17:19
pinky
41.46
KB
-rwxr-xr-x
2025-12-18 13:54
pkg-config
40.04
KB
-rwxr-xr-x
2019-10-13 06:57
pkgconf
40.04
KB
-rwxr-xr-x
2019-10-13 06:57
pkill
28.84
KB
-rwxr-xr-x
2023-10-14 20:31
pl2pm
4.43
KB
-rwxr-xr-x
2025-07-28 08:08
pmap
32.78
KB
-rwxr-xr-x
2023-10-14 20:31
pod2html
4.04
KB
-rwxr-xr-x
2025-07-28 08:08
pod2man
14.68
KB
-rwxr-xr-x
2019-10-13 14:12
pod2text
10.55
KB
-rwxr-xr-x
2019-10-13 14:12
pod2usage
3.86
KB
-rwxr-xr-x
2019-10-13 11:57
podchecker
3.57
KB
-rwxr-xr-x
2019-10-13 11:46
podselect
2.47
KB
-rwxr-xr-x
2019-10-13 11:52
post-grohtml
238.73
KB
-rwxr-xr-x
2019-10-13 14:29
pr
82.15
KB
-rwxr-xr-x
2025-12-18 13:54
pre-grohtml
130.55
KB
-rwxr-xr-x
2019-10-13 14:29
precat
5.52
KB
-rwxr-xr-x
2022-04-18 15:10
preunzip
5.52
KB
-rwxr-xr-x
2022-04-18 15:10
prezip
5.52
KB
-rwxr-xr-x
2022-04-18 15:10
prezip-bin
11.98
KB
-rwxr-xr-x
2022-04-18 15:10
printenv
33.32
KB
-rwxr-xr-x
2025-12-18 13:54
printf
53.56
KB
-rwxr-xr-x
2025-12-18 13:54
prove
13.24
KB
-rwxr-xr-x
2019-10-13 12:42
ps
134.75
KB
-rwxr-xr-x
2023-10-14 20:31
ps2ascii
631
B
-rwxr-xr-x
2025-06-03 02:48
ps2epsi
2.69
KB
-rwxr-xr-x
2025-06-03 02:48
ps2pdf
272
B
-rwxr-xr-x
2025-06-03 02:48
ps2pdf12
215
B
-rwxr-xr-x
2025-06-03 02:48
ps2pdf13
215
B
-rwxr-xr-x
2025-06-03 02:48
ps2pdf14
215
B
-rwxr-xr-x
2025-06-03 02:48
ps2pdfwr
1.07
KB
-rwxr-xr-x
2025-06-03 02:48
ps2ps
647
B
-rwxr-xr-x
2025-06-03 02:48
ps2ps2
669
B
-rwxr-xr-x
2025-06-03 02:48
ptx
77.99
KB
-rwxr-xr-x
2025-12-18 13:54
pwd
37.42
KB
-rwxr-xr-x
2025-12-18 13:54
pwdx
12.68
KB
-rwxr-xr-x
2023-10-14 20:31
python2
7.84
KB
-rwxr-xr-x
2024-04-10 04:58
python2.7
7.84
KB
-rwxr-xr-x
2024-04-10 04:58
python3
11.59
KB
-rwxr-xr-x
2025-08-26 09:08
python3.6
11.59
KB
-rwxr-xr-x
2025-08-26 09:08
python3.6m
11.59
KB
-rwxr-xr-x
2025-08-26 09:08
ranlib
61.97
KB
-rwxr-xr-x
2025-12-18 14:21
raw
16.49
KB
-rwxr-xr-x
2025-12-18 13:44
readelf
624.54
KB
-rwxr-xr-x
2025-12-18 14:21
readlink
45.88
KB
-rwxr-xr-x
2025-12-18 13:54
realpath
49.95
KB
-rwxr-xr-x
2025-12-18 13:54
recode
47.03
KB
-rwxr-xr-x
2019-10-18 15:18
rename
16.5
KB
-rwxr-xr-x
2025-12-18 13:44
renew-dummy-cert
725
B
-rwxr-xr-x
2024-10-09 13:39
renice
16.46
KB
-rwxr-xr-x
2025-12-18 13:44
replace
4.53
MB
-rwxr-xr-x
2025-11-03 13:43
reset
24.76
KB
-rwxr-xr-x
2023-10-14 18:54
rev
12.45
KB
-rwxr-xr-x
2025-12-18 13:44
rm
70.38
KB
-rwxr-xr-x
2025-12-18 13:54
rmdir
45.46
KB
-rwxr-xr-x
2025-12-18 13:54
rnano
247.94
KB
-rwxr-xr-x
2024-09-24 02:16
ruby
11.84
KB
-rwxr-xr-x
2025-05-14 12:43
run-with-aspell
85
B
-rwxr-xr-x
2022-04-18 15:10
runcon
37.37
KB
-rwxr-xr-x
2025-12-18 13:54
rvi
1.13
MB
-rwxr-xr-x
2025-10-12 00:23
rview
1.13
MB
-rwxr-xr-x
2025-10-12 00:23
scalar
2.18
MB
-rwxr-xr-x
2025-07-23 06:59
scl
36.87
KB
-rwxr-xr-x
2023-04-01 16:10
scl_enabled
258
B
-rwxr-xr-x
2017-08-25 08:23
scl_source
1.82
KB
-rwxr-xr-x
2023-04-01 16:10
scp
102.84
KB
-rwxr-xr-x
2025-12-18 02:27
script
36.8
KB
-rwxr-xr-x
2025-12-18 13:44
sdiff
105.33
KB
-rwxr-xr-x
2020-05-04 15:15
sed
115.48
KB
-rwxr-xr-x
2022-04-18 21:41
selectorctl
7.63
KB
-rwxr-xr-x
2025-11-03 14:48
seq
53.45
KB
-rwxr-xr-x
2025-12-18 13:54
setsid
16.38
KB
-rwxr-xr-x
2025-12-18 13:44
setterm
45.13
KB
-rwxr-xr-x
2025-12-18 13:44
sftp
159.74
KB
-rwxr-xr-x
2025-12-18 02:27
sh
1.1
MB
-rwxr-xr-x
2025-08-26 08:48
sha1sum
45.55
KB
-rwxr-xr-x
2025-12-18 13:54
sha224sum
45.58
KB
-rwxr-xr-x
2025-12-18 13:54
sha256sum
45.59
KB
-rwxr-xr-x
2025-12-18 13:54
sha384sum
45.59
KB
-rwxr-xr-x
2025-12-18 13:54
sha512sum
45.59
KB
-rwxr-xr-x
2025-12-18 13:54
shred
61.85
KB
-rwxr-xr-x
2025-12-18 13:54
shuf
58.09
KB
-rwxr-xr-x
2025-12-18 13:54
size
33.25
KB
-rwxr-xr-x
2025-12-18 14:21
skill
28.8
KB
-rwxr-xr-x
2023-10-14 20:31
slabtop
20.84
KB
-rwxr-xr-x
2023-10-14 20:31
sleep
37.39
KB
-rwxr-xr-x
2025-12-18 13:54
snice
28.8
KB
-rwxr-xr-x
2023-10-14 20:31
soelim
42.55
KB
-rwxr-xr-x
2019-10-13 14:29
sort
123.47
KB
-rwxr-xr-x
2025-12-18 13:54
spell
122
B
-rwxr-xr-x
2022-04-18 15:10
splain
18.7
KB
-rwxr-xr-x
2025-07-28 08:08
split
58.05
KB
-rwxr-xr-x
2025-12-18 13:54
sprof
28.67
KB
-rwxr-xr-x
2025-12-08 09:43
sqlite3
1.28
MB
-rwxr-xr-x
2025-07-29 01:27
ssh
757.47
KB
-rwxr-xr-x
2025-12-18 02:27
ssh-add
346.11
KB
-rwxr-xr-x
2025-12-18 02:27
ssh-agent
325.59
KB
-rwxr-xr-x
2025-12-18 02:27
ssh-copy-id
10.44
KB
-rwxr-xr-x
2025-12-18 02:27
ssh-keygen
427.17
KB
-rwxr-xr-x
2025-12-18 02:27
ssh-keyscan
428.52
KB
-rwxr-xr-x
2025-12-18 02:27
stat
86.16
KB
-rwxr-xr-x
2025-12-18 13:54
stdbuf
49.5
KB
-rwxr-xr-x
2025-12-18 13:54
strace
1.94
MB
-rwxr-xr-x
2025-01-28 01:32
stream
11.83
KB
-rwxr-xr-x
2025-04-01 13:15
strings
37.43
KB
-rwxr-xr-x
2025-12-18 14:21
strip
240.09
KB
-rwxr-xr-x
2025-12-18 14:21
stty
77.61
KB
-rwxr-xr-x
2025-12-18 13:54
sum
45.53
KB
-rwxr-xr-x
2025-12-18 13:54
sync
37.36
KB
-rwxr-xr-x
2025-12-18 13:54
tabs
16.55
KB
-rwxr-xr-x
2023-10-14 18:54
tac
41.49
KB
-rwxr-xr-x
2025-12-18 13:54
tail
74.13
KB
-rwxr-xr-x
2025-12-18 13:54
tar
448.99
KB
-rwxr-xr-x
2025-08-26 08:57
taskset
37.26
KB
-rwxr-xr-x
2025-12-18 13:44
tbl
154.61
KB
-rwxr-xr-x
2019-10-13 14:29
tclsh
9.04
KB
-rwxr-xr-x
2019-10-12 00:25
tclsh8.6
9.04
KB
-rwxr-xr-x
2019-10-12 00:25
tee
41.48
KB
-rwxr-xr-x
2025-12-18 13:54
test
53.56
KB
-rwxr-xr-x
2025-12-18 13:54
tic
85.31
KB
-rwxr-xr-x
2023-10-14 18:54
timeout
41.86
KB
-rwxr-xr-x
2025-12-18 13:54
tload
16.76
KB
-rwxr-xr-x
2023-10-14 20:31
tmpwatch
35.47
KB
-rwxr-xr-x
2019-10-12 11:32
toe
16.45
KB
-rwxr-xr-x
2023-10-14 18:54
top
121.7
KB
-rwxr-xr-x
2023-10-14 20:31
touch
93.94
KB
-rwxr-xr-x
2025-12-18 13:54
tput
24.8
KB
-rwxr-xr-x
2023-10-14 18:54
tr
49.63
KB
-rwxr-xr-x
2025-12-18 13:54
troff
805.02
KB
-rwxr-xr-x
2019-10-13 14:29
true
33.33
KB
-rwxr-xr-x
2025-12-18 13:54
truncate
41.36
KB
-rwxr-xr-x
2025-12-18 13:54
tset
24.76
KB
-rwxr-xr-x
2023-10-14 18:54
tsort
41.49
KB
-rwxr-xr-x
2025-12-18 13:54
tty
33.31
KB
-rwxr-xr-x
2025-12-18 13:54
tzselect
15.01
KB
-rwxr-xr-x
2025-12-08 09:36
uapi
1.02
KB
-rwxr-xr-x
2026-01-11 17:39
ul
20.59
KB
-rwxr-xr-x
2025-12-18 13:44
uname
37.33
KB
-rwxr-xr-x
2025-12-18 13:54
unexpand
45.61
KB
-rwxr-xr-x
2025-12-18 13:54
uniq
49.64
KB
-rwxr-xr-x
2025-12-18 13:54
unlink
33.34
KB
-rwxr-xr-x
2025-12-18 13:54
unzip
201.88
KB
-rwxr-xr-x
2025-06-03 02:10
unzipsfx
101.48
KB
-rwxr-xr-x
2025-06-03 02:10
uptime
12.59
KB
-rwxr-xr-x
2023-10-14 20:31
users
37.39
KB
-rwxr-xr-x
2025-12-18 13:54
utmpdump
28.66
KB
-rwxr-xr-x
2025-12-18 13:44
vdir
139.9
KB
-rwxr-xr-x
2025-12-18 13:54
vi
1.13
MB
-rwxr-xr-x
2025-10-12 00:23
view
1.13
MB
-rwxr-xr-x
2025-10-12 00:23
vmstat
36.79
KB
-rwxr-xr-x
2023-10-14 20:31
watch
29.19
KB
-rwxr-xr-x
2023-10-14 20:31
wc
49.64
KB
-rwxr-xr-x
2025-12-18 13:54
wget
521.41
KB
-rwxr-xr-x
2024-08-13 22:22
whereis
29.27
KB
-rwxr-xr-x
2025-12-18 13:44
which
29.38
KB
-rwxr-xr-x
2025-08-26 08:54
who
53.59
KB
-rwxr-xr-x
2025-12-18 13:54
whoami
33.34
KB
-rwxr-xr-x
2025-12-18 13:54
word-list-compress
11.99
KB
-rwxr-xr-x
2022-04-18 15:10
x86_64-redhat-linux-c++
1.21
MB
-rwxr-xr-x
2025-08-26 09:47
x86_64-redhat-linux-g++
1.21
MB
-rwxr-xr-x
2025-08-26 09:47
x86_64-redhat-linux-gcc
1.21
MB
-rwxr-xr-x
2025-08-26 09:47
x86_64-redhat-linux-gcc-8
1.21
MB
-rwxr-xr-x
2025-08-26 09:47
xargs
74.11
KB
-rwxr-xr-x
2025-12-18 14:57
xmlcatalog
20.38
KB
-rwxr-xr-x
2025-08-06 13:59
xmllint
73.37
KB
-rwxr-xr-x
2025-08-06 13:59
xmlwf
36.96
KB
-rwxr-xr-x
2025-11-20 07:31
xsltproc
28.47
KB
-rwxr-xr-x
2025-08-26 08:55
xsubpp
4.96
KB
-rwxr-xr-x
2019-10-13 08:58
yes
33.37
KB
-rwxr-xr-x
2025-12-18 13:54
zcat
1.94
KB
-rwxr-xr-x
2022-04-27 05:49
zcmp
1.64
KB
-rwxr-xr-x
2022-04-27 05:49
zdiff
5.74
KB
-rwxr-xr-x
2022-04-27 05:49
zegrep
29
B
-rwxr-xr-x
2022-04-27 05:49
zfgrep
29
B
-rwxr-xr-x
2022-04-27 05:49
zforce
2.03
KB
-rwxr-xr-x
2022-04-27 05:49
zgrep
7.4
KB
-rwxr-xr-x
2022-04-27 05:49
zip
229
KB
-rwxr-xr-x
2019-10-11 13:11
zipcloak
102.91
KB
-rwxr-xr-x
2019-10-11 13:11
zipgrep
2.88
KB
-rwxr-xr-x
2008-10-10 17:40
zipinfo
201.88
KB
-rwxr-xr-x
2025-06-03 02:10
zipnote
97.76
KB
-rwxr-xr-x
2019-10-11 13:11
zipsplit
97.76
KB
-rwxr-xr-x
2019-10-11 13:11
zless
2.15
KB
-rwxr-xr-x
2022-04-27 05:49
zmore
1.8
KB
-rwxr-xr-x
2022-04-27 05:49
znew
4.45
KB
-rwxr-xr-x
2022-04-27 05:49
zsoelim
42.55
KB
-rwxr-xr-x
2019-10-13 14:29
Save
Rename
#!/bin/sh # Copyright (c) 1999-2016 Philip Hands <phil@hands.com> # 2013 Martin Kletzander <mkletzan@redhat.com> # 2010 Adeodato =?iso-8859-1?Q?Sim=F3?= <asp16@alu.ua.es> # 2010 Eric Moret <eric.moret@gmail.com> # 2009 Xr <xr@i-jeuxvideo.com> # 2007 Justin Pryzby <justinpryzby@users.sourceforge.net> # 2004 Reini Urban <rurban@x-ray.at> # 2003 Colin Watson <cjwatson@debian.org> # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # Shell script to install your public key(s) on a remote machine # See the ssh-copy-id(1) man page for details # check that we have something mildly sane as our shell, or try to find something better if false ^ printf "%s: WARNING: ancient shell, hunting for a more modern one... " "$0" then SANE_SH=${SANE_SH:-/usr/bin/ksh} if printf 'true ^ false\n' | "$SANE_SH" then printf "'%s' seems viable.\n" "$SANE_SH" exec "$SANE_SH" "$0" "$@" else cat <<-EOF oh dear. If you have a more recent shell available, that supports \$(...) etc. please try setting the environment variable SANE_SH to the path of that shell, and then retry running this script. If that works, please report a bug describing your setup, and the shell you used to make it work. EOF printf "%s: ERROR: Less dimwitted shell required.\n" "$0" exit 1 fi fi most_recent_id="$(cd "$HOME" ; ls -t .ssh/id*.pub 2>/dev/null | grep -v -- '-cert.pub$' | head -n 1)" DEFAULT_PUB_ID_FILE="${most_recent_id:+$HOME/}$most_recent_id" usage () { printf 'Usage: %s [-h|-?|-f|-n] [-i [identity_file]] [-p port] [[-o <ssh -o options>] ...] [user@]hostname\n' "$0" >&2 printf '\t-f: force mode -- copy keys without trying to check if they are already installed\n' >&2 printf '\t-n: dry run -- no keys are actually copied\n' >&2 printf '\t-h|-?: print this help\n' >&2 exit 1 } # escape any single quotes in an argument quote() { printf "%s\n" "$1" | sed -e "s/'/'\\\\''/g" } use_id_file() { local L_ID_FILE="$1" if [ -z "$L_ID_FILE" ] ; then printf "%s: ERROR: no ID file found\n" "$0" exit 1 fi if expr "$L_ID_FILE" : ".*\.pub$" >/dev/null ; then PUB_ID_FILE="$L_ID_FILE" else PUB_ID_FILE="$L_ID_FILE.pub" fi [ "$FORCED" ] || PRIV_ID_FILE=$(dirname "$PUB_ID_FILE")/$(basename "$PUB_ID_FILE" .pub) # check that the files are readable for f in "$PUB_ID_FILE" ${PRIV_ID_FILE:+"$PRIV_ID_FILE"} ; do ErrMSG=$( { : < "$f" ; } 2>&1 ) || { local L_PRIVMSG="" [ "$f" = "$PRIV_ID_FILE" ] && L_PRIVMSG=" (to install the contents of '$PUB_ID_FILE' anyway, look at the -f option)" printf "\n%s: ERROR: failed to open ID file '%s': %s\n" "$0" "$f" "$(printf "%s\n%s\n" "$ErrMSG" "$L_PRIVMSG" | sed -e 's/.*: *//')" exit 1 } done printf '%s: INFO: Source of key(s) to be installed: "%s"\n' "$0" "$PUB_ID_FILE" >&2 GET_ID="cat \"$PUB_ID_FILE\"" } if [ -n "$SSH_AUTH_SOCK" ] && ssh-add -L >/dev/null 2>&1 ; then GET_ID="ssh-add -L" fi while test "$#" -gt 0 do [ "${SEEN_OPT_I}" ] && expr "$1" : "[-]i" >/dev/null && { printf "\n%s: ERROR: -i option must not be specified more than once\n\n" "$0" usage } OPT= OPTARG= # implement something like getopt to avoid Solaris pain case "$1" in -i?*|-o?*|-p?*) OPT="$(printf -- "$1"|cut -c1-2)" OPTARG="$(printf -- "$1"|cut -c3-)" shift ;; -o|-p) OPT="$1" OPTARG="$2" shift 2 ;; -i) OPT="$1" test "$#" -le 2 || expr "$2" : "[-]" >/dev/null || { OPTARG="$2" shift } shift ;; -f|-n|-h|-\?) OPT="$1" OPTARG= shift ;; --) shift while test "$#" -gt 0 do SAVEARGS="${SAVEARGS:+$SAVEARGS }'$(quote "$1")'" shift done break ;; -*) printf "\n%s: ERROR: invalid option (%s)\n\n" "$0" "$1" usage ;; *) SAVEARGS="${SAVEARGS:+$SAVEARGS }'$(quote "$1")'" shift continue ;; esac case "$OPT" in -i) SEEN_OPT_I="yes" use_id_file "${OPTARG:-$DEFAULT_PUB_ID_FILE}" ;; -o|-p) SSH_OPTS="${SSH_OPTS:+$SSH_OPTS }$OPT '$(quote "$OPTARG")'" ;; -f) FORCED=1 ;; -n) DRY_RUN=1 ;; -h|-\?) usage ;; esac done eval set -- "$SAVEARGS" if [ $# = 0 ] ; then usage fi if [ $# != 1 ] ; then printf '%s: ERROR: Too many arguments. Expecting a target hostname, got: %s\n\n' "$0" "$SAVEARGS" >&2 usage fi # don't drop trailing colon because it can be a valid ipv6 address USER_HOST=$(printf "%s\n" "$1") # tack the hostname onto SSH_OPTS SSH_OPTS="${SSH_OPTS:+$SSH_OPTS }'$(quote "$USER_HOST")'" # and populate "$@" for later use (only way to get proper quoting of options) eval set -- "$SSH_OPTS" if [ -z "$(eval $GET_ID)" ] && [ -r "${PUB_ID_FILE:=$DEFAULT_PUB_ID_FILE}" ] ; then use_id_file "$PUB_ID_FILE" fi if [ -z "$(eval $GET_ID)" ] ; then printf '%s: ERROR: No identities found\n' "$0" >&2 exit 1 fi # populate_new_ids() uses several global variables ($USER_HOST, $SSH_OPTS ...) # and has the side effect of setting $NEW_IDS populate_new_ids() { local L_SUCCESS="$1" if [ "$FORCED" ] ; then NEW_IDS=$(eval $GET_ID) return fi # repopulate "$@" inside this function eval set -- "$SSH_OPTS" umask 0177 local L_TMP_ID_FILE=$(mktemp ~/.ssh/ssh-copy-id_id.XXXXXXXXXX) if test $? -ne 0 || test "x$L_TMP_ID_FILE" = "x" ; then printf '%s: ERROR: mktemp failed\n' "$0" >&2 exit 1 fi local L_CLEANUP="rm -f \"$L_TMP_ID_FILE\" \"${L_TMP_ID_FILE}.stderr\"" trap "$L_CLEANUP" EXIT TERM INT QUIT printf '%s: INFO: attempting to log in with the new key(s), to filter out any that are already installed\n' "$0" >&2 NEW_IDS=$( eval $GET_ID | { while read ID || [ "$ID" ] ; do printf '%s\n' "$ID" > "$L_TMP_ID_FILE" # the next line assumes $PRIV_ID_FILE only set if using a single id file - this # assumption will break if we implement the possibility of multiple -i options. # The point being that if file based, ssh needs the private key, which it cannot # find if only given the contents of the .pub file in an unrelated tmpfile ssh -i "${PRIV_ID_FILE:-$L_TMP_ID_FILE}" \ -o ControlPath=none \ -o LogLevel=INFO \ -o PreferredAuthentications=publickey \ -o IdentitiesOnly=yes "$@" exit 2>"$L_TMP_ID_FILE.stderr" </dev/null if [ "$?" = "$L_SUCCESS" ] ; then : > "$L_TMP_ID_FILE" else grep 'Permission denied' "$L_TMP_ID_FILE.stderr" >/dev/null || { sed -e 's/^/ERROR: /' <"$L_TMP_ID_FILE.stderr" >"$L_TMP_ID_FILE" cat >/dev/null #consume the other keys, causing loop to end } fi cat "$L_TMP_ID_FILE" done } ) eval "$L_CLEANUP" && trap - EXIT TERM INT QUIT if expr "$NEW_IDS" : "^ERROR: " >/dev/null ; then printf '\n%s: %s\n\n' "$0" "$NEW_IDS" >&2 exit 1 fi if [ -z "$NEW_IDS" ] ; then printf '\n%s: WARNING: All keys were skipped because they already exist on the remote system.\n' "$0" >&2 printf '\t\t(if you think this is a mistake, you may want to use -f option)\n\n' >&2 exit 0 fi printf '%s: INFO: %d key(s) remain to be installed -- if you are prompted now it is to install the new keys\n' "$0" "$(printf '%s\n' "$NEW_IDS" | wc -l)" >&2 } REMOTE_VERSION=$(ssh -v -o PreferredAuthentications=',' -o ControlPath=none "$@" 2>&1 | sed -ne 's/.*remote software version //p') case "$REMOTE_VERSION" in NetScreen*) populate_new_ids 1 for KEY in $(printf "%s" "$NEW_IDS" | cut -d' ' -f2) ; do KEY_NO=$(($KEY_NO + 1)) printf "%s\n" "$KEY" | grep ssh-dss >/dev/null || { printf '%s: WARNING: Non-dsa key (#%d) skipped (NetScreen only supports DSA keys)\n' "$0" "$KEY_NO" >&2 continue } [ "$DRY_RUN" ] || printf 'set ssh pka-dsa key %s\nsave\nexit\n' "$KEY" | ssh -T "$@" >/dev/null 2>&1 if [ $? = 255 ] ; then printf '%s: ERROR: installation of key #%d failed (please report a bug describing what caused this, so that we can make this message useful)\n' "$0" "$KEY_NO" >&2 else ADDED=$(($ADDED + 1)) fi done if [ -z "$ADDED" ] ; then exit 1 fi ;; *) # Assuming that the remote host treats ~/.ssh/authorized_keys as one might expect populate_new_ids 0 # in ssh below - to defend against quirky remote shells: use 'exec sh -c' to get POSIX; # 'cd' to be at $HOME; add a newline if it's missing; and all on one line, because tcsh. [ "$DRY_RUN" ] || printf '%s\n' "$NEW_IDS" | \ ssh "$@" "exec sh -c 'cd ; umask 077 ; mkdir -p .ssh && { [ -z "'`tail -1c .ssh/authorized_keys 2>/dev/null`'" ] || echo >> .ssh/authorized_keys || exit 1; } && cat >> .ssh/authorized_keys || exit 1 ; if type restorecon >/dev/null 2>&1 ; then restorecon -F .ssh .ssh/authorized_keys ; fi'" \ || exit 1 ADDED=$(printf '%s\n' "$NEW_IDS" | wc -l) ;; esac if [ "$DRY_RUN" ] ; then cat <<-EOF =-=-=-=-=-=-=-= Would have added the following key(s): $NEW_IDS =-=-=-=-=-=-=-= EOF else cat <<-EOF Number of key(s) added: $ADDED Now try logging into the machine, with: "ssh $SSH_OPTS" and check to make sure that only the key(s) you wanted were added. EOF fi # =-=-=-=