Linux server1.dn-server.com 4.18.0-553.89.1.lve.el8.x86_64 #1 SMP Wed Dec 10 13:58:50 UTC 2025 x86_64
LiteSpeed
Server IP : 195.201.204.189 & Your IP : 216.73.216.198
Domains :
Cant Read [ /etc/named.conf ]
User : beriska1
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-23 00:43
Mail
408.89
KB
-rwxr-xr-x
2019-10-13 03:49
[
53.6
KB
-rwxr-xr-x
2026-03-24 16:35
aclocal
35.62
KB
-rwxr-xr-x
2023-10-14 23:30
aclocal-1.16
35.62
KB
-rwxr-xr-x
2023-10-14 23:30
addr2line
33.42
KB
-rwxr-xr-x
2025-12-18 17:51
agentxtrap
24.54
KB
-rwxr-xr-x
2026-01-19 11:49
animate
11.84
KB
-rwxr-xr-x
2025-04-01 16:45
ar
61.96
KB
-rwxr-xr-x
2025-12-18 17:51
arch
37.34
KB
-rwxr-xr-x
2026-03-24 16:35
arpaname
11.82
KB
-rwxr-xr-x
2026-06-08 07:08
as
889.91
KB
-rwxr-xr-x
2025-12-18 17:51
aspell
159.5
KB
-rwxr-xr-x
2022-04-18 19:40
at
1.25
KB
-rwxr-xr-x
2022-10-10 13:53
atq
1.25
KB
-rwxr-xr-x
2022-10-10 13:53
atrm
1.25
KB
-rwxr-xr-x
2022-10-10 13:53
autoconf
14.42
KB
-rwxr-xr-x
2024-08-13 23:00
autoheader
8.33
KB
-rwxr-xr-x
2024-08-13 23:00
autom4te
31.43
KB
-rwxr-xr-x
2024-08-13 23:00
automake
251.9
KB
-rwxr-xr-x
2023-10-14 23:30
automake-1.16
251.9
KB
-rwxr-xr-x
2023-10-14 23:30
autoreconf
20.57
KB
-rwxr-xr-x
2024-08-13 23:00
autoscan
16.72
KB
-rwxr-xr-x
2024-08-13 23:00
autoupdate
33.08
KB
-rwxr-xr-x
2024-08-13 23:00
awk
669.77
KB
-rwxr-xr-x
2022-04-18 20:26
b2sum
57.69
KB
-rwxr-xr-x
2026-03-24 16:35
base32
41.47
KB
-rwxr-xr-x
2026-03-24 16:35
base64
41.48
KB
-rwxr-xr-x
2026-03-24 16:35
basename
37.41
KB
-rwxr-xr-x
2026-03-24 16:35
bash
1.1
MB
-rwxr-xr-x
2025-08-26 12:18
bashbug-64
7.18
KB
-rwxr-xr-x
2025-08-26 12:18
batch
137
B
-rwxr-xr-x
2022-10-10 13:53
bison
437.72
KB
-rwxr-xr-x
2019-10-12 15:58
bunzip2
36.86
KB
-rwxr-xr-x
2025-01-28 05:08
bzcat
36.86
KB
-rwxr-xr-x
2025-01-28 05:08
bzcmp
2.08
KB
-rwxr-xr-x
2025-01-28 05:08
bzdiff
2.08
KB
-rwxr-xr-x
2025-01-28 05:08
bzgrep
1.64
KB
-rwxr-xr-x
2025-01-28 05:08
bzip2
36.86
KB
-rwxr-xr-x
2025-01-28 05:08
bzip2recover
16.44
KB
-rwxr-xr-x
2025-01-28 05:08
bzless
1.23
KB
-rwxr-xr-x
2025-01-28 05:08
bzmore
1.23
KB
-rwxr-xr-x
2025-01-28 05:08
c++
1.21
MB
-rwxr-x---
2025-08-26 13:17
c++filt
28.89
KB
-rwxr-xr-x
2025-12-18 17:51
c89
224
B
-rwxr-x---
2025-08-26 13:15
c99
215
B
-rwxr-x---
2025-08-26 13:15
cagefs_enter.proxied
1.27
KB
-rwxr-xr-x
2026-01-20 17:28
cal
65.98
KB
-rwxr-xr-x
2026-02-04 23:48
captoinfo
85.31
KB
-rwxr-xr-x
2023-10-14 22:24
cat
37.46
KB
-rwxr-xr-x
2026-03-24 16:35
catchsegv
3.21
KB
-rwxr-xr-x
2026-05-26 13:03
cc
1.21
MB
-rwxr-x---
2025-08-26 13:17
chcon
70.34
KB
-rwxr-xr-x
2026-03-24 16:35
chgrp
66.29
KB
-rwxr-xr-x
2026-03-24 16:35
chmod
62.2
KB
-rwxr-xr-x
2026-03-24 16:35
chown
70.29
KB
-rwxr-xr-x
2026-03-24 16:35
chrt
37.19
KB
-rwxr-xr-x
2026-02-04 23:48
cksum
37.39
KB
-rwxr-xr-x
2026-03-24 16:35
cldetect
10.34
KB
-rwxr-xr-x
2026-04-17 15:08
clear
12.54
KB
-rwxr-xr-x
2023-10-14 22:24
cloudlinux-awp-user
1.78
KB
-rwxr-xr-x
2026-02-13 16:33
clwpos-user
1.78
KB
-rwxr-xr-x
2026-02-13 16:33
cmp
103.76
KB
-rwxr-xr-x
2020-05-04 19:45
col
29.01
KB
-rwxr-xr-x
2026-02-04 23:48
colcrt
16.48
KB
-rwxr-xr-x
2026-02-04 23:48
colrm
24.88
KB
-rwxr-xr-x
2026-02-04 23:48
column
49.47
KB
-rwxr-xr-x
2026-02-04 23:48
comm
41.56
KB
-rwxr-xr-x
2026-03-24 16:35
compare
11.85
KB
-rwxr-xr-x
2025-04-01 16:45
composite
11.84
KB
-rwxr-xr-x
2025-04-01 16:45
conjure
11.84
KB
-rwxr-xr-x
2025-04-01 16:45
convert
11.84
KB
-rwxr-xr-x
2025-04-01 16:45
cp
147.98
KB
-rwxr-xr-x
2026-03-24 16:35
cpan
8.17
KB
-rwxr-xr-x
2025-06-03 18:02
cpp
1.21
MB
-rwxr-xr-x
2025-08-26 13:17
crontab
1.49
KB
-rwxr-xr-x
2024-04-06 15:10
crontab.cagefs
54.16
KB
-rwxr-xr-x
2026-04-17 15:41
csplit
53.68
KB
-rwxr-xr-x
2026-03-24 16:35
curl
230.08
KB
-rwxr-xr-x
2026-03-24 17:11
cut
49.52
KB
-rwxr-xr-x
2026-03-24 16:35
date
105.96
KB
-rwxr-xr-x
2026-03-24 16:35
dbiprof
6.06
KB
-rwxr-xr-x
2022-04-25 20:40
dd
77.97
KB
-rwxr-xr-x
2026-03-24 16:35
delv
42.46
KB
-rwxr-xr-x
2026-06-08 07:08
df
91.09
KB
-rwxr-xr-x
2026-03-24 16:35
diff
268.01
KB
-rwxr-xr-x
2020-05-04 19:45
diff3
128.6
KB
-rwxr-xr-x
2020-05-04 19:45
dig
162.18
KB
-rwxr-xr-x
2026-06-08 07:08
dir
139.9
KB
-rwxr-xr-x
2026-03-24 16:35
dircolors
49.55
KB
-rwxr-xr-x
2026-03-24 16:35
dirname
33.36
KB
-rwxr-xr-x
2026-03-24 16:35
display
11.84
KB
-rwxr-xr-x
2025-04-01 16:45
dnstap-read
20.43
KB
-rwxr-xr-x
2026-06-08 07:08
du
107
KB
-rwxr-xr-x
2026-03-24 16:35
echo
37.35
KB
-rwxr-xr-x
2026-03-24 16:35
egrep
28
B
-rwxr-xr-x
2019-10-11 18:45
enc2xs
40.97
KB
-rwxr-xr-x
2019-10-13 12:16
enchant
21.08
KB
-rwxr-xr-x
2019-10-23 23:33
enchant-lsmod
13.09
KB
-rwxr-xr-x
2019-10-23 23:33
env
41.35
KB
-rwxr-xr-x
2026-03-24 16:35
eps2eps
639
B
-rwxr-xr-x
2025-06-03 06:18
eqn
232.16
KB
-rwxr-xr-x
2019-10-13 17:59
ex
1.13
MB
-rwxr-xr-x
2026-06-03 17:16
expand
41.59
KB
-rwxr-xr-x
2026-03-24 16:35
expr
49.57
KB
-rwxr-xr-x
2026-03-24 16:35
factor
85.97
KB
-rwxr-xr-x
2026-03-24 16:35
false
33.32
KB
-rwxr-xr-x
2026-03-24 16:35
fc-cache
132
B
-rwxr-xr-x
2021-08-16 15:34
fc-cache-64
20.35
KB
-rwxr-xr-x
2021-10-09 12:32
fc-cat
16.35
KB
-rwxr-xr-x
2021-10-09 12:32
fc-conflist
12.25
KB
-rwxr-xr-x
2021-10-09 12:32
fc-list
12.25
KB
-rwxr-xr-x
2021-10-09 12:32
fc-match
16.26
KB
-rwxr-xr-x
2021-10-09 12:32
fc-pattern
12.26
KB
-rwxr-xr-x
2021-10-09 12:32
fc-query
12.24
KB
-rwxr-xr-x
2021-10-09 12:32
fc-scan
12.26
KB
-rwxr-xr-x
2021-10-09 12:32
fc-validate
16.26
KB
-rwxr-xr-x
2021-10-09 12:32
fgrep
28
B
-rwxr-xr-x
2019-10-11 18:45
file
24.69
KB
-rwxr-xr-x
2025-10-07 10:00
find
223.27
KB
-rwxr-xr-x
2025-12-18 18:27
flex
428.45
KB
-rwxr-xr-x
2019-10-12 16:03
flex++
428.45
KB
-rwxr-xr-x
2019-10-12 16:03
flock
33.2
KB
-rwxr-xr-x
2026-02-04 23:48
fmt
45.49
KB
-rwxr-xr-x
2026-03-24 16:35
fold
41.42
KB
-rwxr-xr-x
2026-03-24 16:35
free
20.79
KB
-rwxr-xr-x
2023-10-15 00:01
freetype-config
4.31
KB
-rwxr-xr-x
2025-03-31 23:07
funzip
36.63
KB
-rwxr-xr-x
2025-06-03 05:40
g++
1.21
MB
-rwxr-x---
2025-08-26 13:17
gawk
669.77
KB
-rwxr-xr-x
2022-04-18 20:26
gcc
1.21
MB
-rwxr-x---
2025-08-26 13:17
gcc-ar
36.66
KB
-rwxr-xr-x
2025-08-26 13:17
gcc-nm
36.66
KB
-rwxr-xr-x
2025-08-26 13:17
gcc-ranlib
36.66
KB
-rwxr-xr-x
2025-08-26 13:17
gcov
1.31
MB
-rwxr-xr-x
2025-08-26 13:17
gcov-dump
570.96
KB
-rwxr-xr-x
2025-08-26 13:17
gcov-tool
607.77
KB
-rwxr-xr-x
2025-08-26 13:17
gem
542
B
-rwxr-xr-x
2025-05-14 16:10
gencat
24.84
KB
-rwxr-xr-x
2026-05-26 13:09
geoiplookup
21.89
KB
-rwxr-xr-x
2019-11-29 01:36
geoiplookup6
21.65
KB
-rwxr-xr-x
2019-11-29 01:36
geqn
232.16
KB
-rwxr-xr-x
2019-10-13 17:59
getconf
32.46
KB
-rwxr-xr-x
2026-05-26 13:09
getent
33.13
KB
-rwxr-xr-x
2026-05-26 13:09
getopt
20.53
KB
-rwxr-xr-x
2026-02-04 23:48
ghostscript
12.35
KB
-rwxr-xr-x
2025-06-03 06:18
git
3.67
MB
-rwxr-xr-x
2025-07-23 10:29
git-receive-pack
3.67
MB
-rwxr-xr-x
2025-07-23 10:29
git-shell
2.13
MB
-rwxr-xr-x
2025-07-23 10:29
git-upload-archive
3.67
MB
-rwxr-xr-x
2025-07-23 10:29
git-upload-pack
3.67
MB
-rwxr-xr-x
2025-07-23 10:29
gm
7.84
KB
-rwxr-xr-x
2024-07-29 18:00
gmake
235.32
KB
-rwxr-xr-x
2022-04-18 21:08
gneqn
908
B
-rwxr-xr-x
2019-10-13 17:59
gnroff
3.23
KB
-rwxr-xr-x
2019-10-13 17:59
gpg
1.04
MB
-rwxr-xr-x
2026-01-16 05:18
gpg-agent
419.3
KB
-rwxr-xr-x
2026-01-16 05:18
gpg-error
34.16
KB
-rwxr-xr-x
2019-10-12 15:50
gpg-zip
3.44
KB
-rwxr-xr-x
2026-01-16 05:18
gpgsplit
87.02
KB
-rwxr-xr-x
2026-01-16 05:18
gpgv
451.51
KB
-rwxr-xr-x
2026-01-16 05:18
gpic
293.84
KB
-rwxr-xr-x
2019-10-13 17:59
gprof
103.35
KB
-rwxr-xr-x
2025-12-18 17:51
grep
193.63
KB
-rwxr-xr-x
2019-10-11 18:45
groff
124.92
KB
-rwxr-xr-x
2019-10-13 17:59
grops
191.14
KB
-rwxr-xr-x
2019-10-13 17:59
grotty
141.9
KB
-rwxr-xr-x
2019-10-13 17:59
groups
37.39
KB
-rwxr-xr-x
2026-03-24 16:35
gs
12.35
KB
-rwxr-xr-x
2025-06-03 06:18
gsnd
277
B
-rwxr-xr-x
2025-06-03 06:18
gsoelim
42.55
KB
-rwxr-xr-x
2019-10-13 17:59
gtar
448.99
KB
-rwxr-xr-x
2025-08-26 12:27
gtbl
154.61
KB
-rwxr-xr-x
2019-10-13 17:59
gtroff
805.02
KB
-rwxr-xr-x
2019-10-13 17:59
gunzip
2.29
KB
-rwxr-xr-x
2022-04-27 10:19
gzexe
6.23
KB
-rwxr-xr-x
2022-04-27 10:19
gzip
94.67
KB
-rwxr-xr-x
2022-04-27 10:19
h2ph
28.69
KB
-rwxr-xr-x
2025-07-28 11:38
h2xs
59.44
KB
-rwxr-xr-x
2025-07-28 11:37
head
45.5
KB
-rwxr-xr-x
2026-03-24 16:35
hexdump
57.51
KB
-rwxr-xr-x
2026-02-04 23:48
host
142.3
KB
-rwxr-xr-x
2026-06-08 07:08
hostid
33.34
KB
-rwxr-xr-x
2026-03-24 16:35
hostname
21.16
KB
-rwxr-xr-x
2019-10-11 16:36
hunspell
144.7
KB
-rwxr-xr-x
2019-10-13 12:03
iconv
61.43
KB
-rwxr-xr-x
2026-05-26 13:09
id
45.44
KB
-rwxr-xr-x
2026-03-24 16:35
identify
11.84
KB
-rwxr-xr-x
2025-04-01 16:45
idn
39.41
KB
-rwxr-xr-x
2019-10-13 20:25
ifnames
4.03
KB
-rwxr-xr-x
2024-08-13 23:00
import
11.84
KB
-rwxr-xr-x
2025-04-01 16:45
infocmp
61.05
KB
-rwxr-xr-x
2023-10-14 22:24
infotocap
85.31
KB
-rwxr-xr-x
2023-10-14 22:24
install
156.16
KB
-rwxr-xr-x
2026-03-24 16:35
instmodsh
4.1
KB
-rwxr-xr-x
2019-10-13 12:25
ionice
28.98
KB
-rwxr-xr-x
2026-02-04 23:48
ipcrm
28.99
KB
-rwxr-xr-x
2026-02-04 23:48
ipcs
53.4
KB
-rwxr-xr-x
2026-02-04 23:48
isosize
24.88
KB
-rwxr-xr-x
2026-02-04 23:48
ispell
988
B
-rwxr-xr-x
2022-04-18 19:40
join
53.7
KB
-rwxr-xr-x
2026-03-24 16:35
kill
37.28
KB
-rwxr-xr-x
2026-02-04 23:48
ld
1.71
MB
-rwxr-x---
2025-12-18 17:51
ld.bfd
1.71
MB
-rwxr-x---
2025-12-18 17:51
ldd
5.31
KB
-rwxr-xr-x
2026-05-26 13:03
less
173.76
KB
-rwxr-xr-x
2024-07-02 23:40
lessecho
12.4
KB
-rwxr-xr-x
2024-07-02 23:40
lesskey
21.99
KB
-rwxr-xr-x
2024-07-02 23:40
lesspipe.sh
3.07
KB
-rwxr-xr-x
2024-07-02 23:27
lex
428.45
KB
-rwxr-xr-x
2019-10-12 16:03
libnetcfg
15.41
KB
-rwxr-xr-x
2025-07-28 11:38
libtool
359.11
KB
-rwxr-xr-x
2019-10-11 18:25
libtoolize
126.17
KB
-rwxr-xr-x
2019-10-11 18:25
link
33.34
KB
-rwxr-xr-x
2026-03-24 16:35
ln
70.5
KB
-rwxr-xr-x
2026-03-24 16:35
locale
56.44
KB
-rwxr-xr-x
2026-05-26 13:09
localedef
307.47
KB
-rwxr-xr-x
2026-05-26 13:09
logger
49.98
KB
-rwxr-xr-x
2026-02-04 23:48
login
40.96
KB
-rwxr-xr-x
2026-02-04 23:48
logname
33.34
KB
-rwxr-xr-x
2026-03-24 16:35
look
16.46
KB
-rwxr-xr-x
2026-02-04 23:48
ls
139.91
KB
-rwxr-xr-x
2026-03-24 16:35
m4
185.56
KB
-rwxr-xr-x
2019-10-11 18:11
mail
408.89
KB
-rwxr-xr-x
2019-10-13 03:49
mailx
408.89
KB
-rwxr-xr-x
2019-10-13 03:49
make
235.32
KB
-rwxr-xr-x
2022-04-18 21:08
make-dummy-cert
610
B
-rwxr-xr-x
2026-06-16 20:44
mariadb
5.33
MB
-rwxr-xr-x
2026-02-11 03:55
mariadb-access
109.34
KB
-rwxr-xr-x
2026-02-11 03:55
mariadb-admin
4.87
MB
-rwxr-xr-x
2026-02-11 03:55
mariadb-binlog
5.16
MB
-rwxr-xr-x
2026-02-11 03:55
mariadb-check
4.87
MB
-rwxr-xr-x
2026-02-11 03:55
mariadb-conv
4.58
MB
-rwxr-xr-x
2026-02-11 03:55
mariadb-convert-table-format
4.12
KB
-rwxr-xr-x
2026-02-11 03:55
mariadb-dump
4.96
MB
-rwxr-xr-x
2026-02-11 03:55
mariadb-dumpslow
8.05
KB
-rwxr-xr-x
2026-02-11 03:55
mariadb-embedded
24.28
MB
-rwxr-xr-x
2026-02-11 03:55
mariadb-find-rows
3.21
KB
-rwxr-xr-x
2026-02-11 03:55
mariadb-hotcopy
34.53
KB
-rwxr-xr-x
2026-02-11 03:55
mariadb-import
4.86
MB
-rwxr-xr-x
2026-02-11 03:55
mariadb-plugin
4.56
MB
-rwxr-xr-x
2026-02-11 03:55
mariadb-secure-installation
13.48
KB
-rwxr-xr-x
2026-02-11 03:55
mariadb-setpermission
17.56
KB
-rwxr-xr-x
2026-02-11 03:55
mariadb-show
4.86
MB
-rwxr-xr-x
2026-02-11 03:55
mariadb-slap
4.88
MB
-rwxr-xr-x
2026-02-11 03:55
mariadb-tzinfo-to-sql
4.56
MB
-rwxr-xr-x
2026-02-11 03:55
mariadb-waitpid
4.55
MB
-rwxr-xr-x
2026-02-11 03:55
mcookie
33.27
KB
-rwxr-xr-x
2026-02-04 23:48
md5sum
45.54
KB
-rwxr-xr-x
2026-03-24 16:35
mesg
16.36
KB
-rwxr-xr-x
2026-02-04 23:48
mkdir
82.7
KB
-rwxr-xr-x
2026-03-24 16:35
mkfifo
66.46
KB
-rwxr-xr-x
2026-03-24 16:35
mknod
70.47
KB
-rwxr-xr-x
2026-03-24 16:35
mktemp
45.66
KB
-rwxr-xr-x
2026-03-24 16:35
mogrify
11.84
KB
-rwxr-xr-x
2025-04-01 16:45
montage
11.84
KB
-rwxr-xr-x
2025-04-01 16:45
more
44.94
KB
-rwxr-xr-x
2026-02-04 23:48
msql2mysql
1.41
KB
-rwxr-xr-x
2026-02-11 03:55
mv
143.96
KB
-rwxr-xr-x
2026-03-24 16:35
my_print_defaults
4.55
MB
-rwxr-xr-x
2026-02-11 03:55
mysql
5.33
MB
-rwxr-xr-x
2026-02-11 03:55
mysql_config
4.51
KB
-rwxr-xr-x
2026-02-11 03:55
mysql_find_rows
3.21
KB
-rwxr-xr-x
2026-02-11 03:55
mysql_waitpid
4.55
MB
-rwxr-xr-x
2026-02-11 03:55
mysqlaccess
109.34
KB
-rwxr-xr-x
2026-02-11 03:55
mysqladmin
4.87
MB
-rwxr-xr-x
2026-02-11 03:55
mysqlbinlog
5.16
MB
-rwxr-xr-x
2026-02-11 03:55
mysqlcheck
4.87
MB
-rwxr-xr-x
2026-02-11 03:55
mysqldump
4.96
MB
-rwxr-xr-x
2026-02-11 03:55
mysqlimport
4.86
MB
-rwxr-xr-x
2026-02-11 03:55
mysqlshow
4.86
MB
-rwxr-xr-x
2026-02-11 03:55
mytop
72.03
KB
-rwxr-xr-x
2026-02-11 03:55
namei
33.1
KB
-rwxr-xr-x
2026-02-04 23:48
nano
247.94
KB
-rwxr-xr-x
2024-09-24 05:46
neqn
908
B
-rwxr-xr-x
2019-10-13 17:59
net-snmp-create-v3-user
3.15
KB
-rwxr-xr-x
2026-01-19 11:49
nice
37.33
KB
-rwxr-xr-x
2026-03-24 16:35
nl
45.55
KB
-rwxr-xr-x
2026-03-24 16:35
nm
50.38
KB
-rwxr-xr-x
2025-12-18 17:51
nohup
37.41
KB
-rwxr-xr-x
2026-03-24 16:35
nproc
37.41
KB
-rwxr-xr-x
2026-03-24 16:35
nroff
3.23
KB
-rwxr-xr-x
2019-10-13 17:59
nslookup
146.26
KB
-rwxr-xr-x
2026-06-08 07:08
nsupdate
73.05
KB
-rwxr-xr-x
2026-06-08 07:08
numfmt
65.64
KB
-rwxr-xr-x
2026-03-24 16:35
objcopy
240.07
KB
-rwxr-xr-x
2025-12-18 17:51
objdump
419.76
KB
-rwxr-xr-x
2025-12-18 17:51
od
73.8
KB
-rwxr-xr-x
2026-03-24 16:35
openssl
745.95
KB
-rwxr-xr-x
2026-06-16 20:44
pango-list
11.88
KB
-rwxr-xr-x
2021-10-08 18:52
pango-view
57.44
KB
-rwxr-xr-x
2021-10-08 18:52
passwd
1.25
KB
-rwxr-xr-x
2022-04-19 03:29
paste
37.4
KB
-rwxr-xr-x
2026-03-24 16:35
patch
206.46
KB
-rwxr-xr-x
2020-06-01 19:44
pathchk
37.34
KB
-rwxr-xr-x
2026-03-24 16:35
pdf2dsc
698
B
-rwxr-xr-x
2025-06-03 06:18
pdf2ps
909
B
-rwxr-xr-x
2025-06-03 06:18
perl
12.43
KB
-rwxr-xr-x
2025-07-28 11:37
perl5.26.3
12.43
KB
-rwxr-xr-x
2025-07-28 11:37
perlbug
44.39
KB
-rwxr-xr-x
2025-07-28 11:38
perldoc
118
B
-rwxr-xr-x
2019-10-13 15:23
perlivp
10.56
KB
-rwxr-xr-x
2025-07-28 11:37
perlml
6.61
KB
-rwxr-xr-x
2025-10-02 23:10
perlthanks
44.39
KB
-rwxr-xr-x
2025-07-28 11:38
pgrep
28.84
KB
-rwxr-xr-x
2023-10-15 00:01
php
937
B
-rwxr-xr-x
2025-04-03 14:38
pic
293.84
KB
-rwxr-xr-x
2019-10-13 17:59
piconv
8.08
KB
-rwxr-xr-x
2019-10-13 12:16
pinentry
2.35
KB
-rwxr-xr-x
2018-08-12 21:48
pinentry-curses
77.89
KB
-rwxr-xr-x
2019-11-24 21:09
ping
66.13
KB
-rwxr-xr-x
2023-10-14 20:49
pinky
41.46
KB
-rwxr-xr-x
2026-03-24 16:35
pkg-config
40.04
KB
-rwxr-xr-x
2019-10-13 10:27
pkgconf
40.04
KB
-rwxr-xr-x
2019-10-13 10:27
pkill
28.84
KB
-rwxr-xr-x
2023-10-15 00:01
pl2pm
4.43
KB
-rwxr-xr-x
2025-07-28 11:38
pmap
32.78
KB
-rwxr-xr-x
2023-10-15 00:01
pod2html
4.04
KB
-rwxr-xr-x
2025-07-28 11:38
pod2man
14.68
KB
-rwxr-xr-x
2019-10-13 17:42
pod2text
10.55
KB
-rwxr-xr-x
2019-10-13 17:42
pod2usage
3.86
KB
-rwxr-xr-x
2019-10-13 15:27
podchecker
3.57
KB
-rwxr-xr-x
2019-10-13 15:16
podselect
2.47
KB
-rwxr-xr-x
2019-10-13 15:22
post-grohtml
238.73
KB
-rwxr-xr-x
2019-10-13 17:59
pr
82.15
KB
-rwxr-xr-x
2026-03-24 16:35
pre-grohtml
130.55
KB
-rwxr-xr-x
2019-10-13 17:59
precat
5.52
KB
-rwxr-xr-x
2022-04-18 19:40
preunzip
5.52
KB
-rwxr-xr-x
2022-04-18 19:40
prezip
5.52
KB
-rwxr-xr-x
2022-04-18 19:40
prezip-bin
11.98
KB
-rwxr-xr-x
2022-04-18 19:40
printenv
33.32
KB
-rwxr-xr-x
2026-03-24 16:35
printf
53.56
KB
-rwxr-xr-x
2026-03-24 16:35
prove
13.24
KB
-rwxr-xr-x
2019-10-13 16:12
ps
134.75
KB
-rwxr-xr-x
2023-10-15 00:01
ps2ascii
631
B
-rwxr-xr-x
2025-06-03 06:18
ps2epsi
2.69
KB
-rwxr-xr-x
2025-06-03 06:18
ps2pdf
272
B
-rwxr-xr-x
2025-06-03 06:18
ps2pdf12
215
B
-rwxr-xr-x
2025-06-03 06:18
ps2pdf13
215
B
-rwxr-xr-x
2025-06-03 06:18
ps2pdf14
215
B
-rwxr-xr-x
2025-06-03 06:18
ps2pdfwr
1.07
KB
-rwxr-xr-x
2025-06-03 06:18
ps2ps
647
B
-rwxr-xr-x
2025-06-03 06:18
ps2ps2
669
B
-rwxr-xr-x
2025-06-03 06:18
ptx
78
KB
-rwxr-xr-x
2026-03-24 16:35
pwd
37.42
KB
-rwxr-xr-x
2026-03-24 16:35
pwdx
12.68
KB
-rwxr-xr-x
2023-10-15 00:01
python2
7.84
KB
-rwxr-xr-x
2024-04-10 08:28
python2.7
7.84
KB
-rwxr-xr-x
2024-04-10 08:28
python3
11.59
KB
-rwxr-xr-x
2026-04-28 09:26
python3.6
11.59
KB
-rwxr-xr-x
2026-04-28 09:26
python3.6m
11.59
KB
-rwxr-xr-x
2026-04-28 09:26
ranlib
61.97
KB
-rwxr-xr-x
2025-12-18 17:51
raw
16.5
KB
-rwxr-xr-x
2026-02-04 23:48
readelf
624.54
KB
-rwxr-xr-x
2025-12-18 17:51
readlink
45.88
KB
-rwxr-xr-x
2026-03-24 16:35
realpath
49.94
KB
-rwxr-xr-x
2026-03-24 16:35
recode
47.03
KB
-rwxr-xr-x
2019-10-18 18:48
rename
16.5
KB
-rwxr-xr-x
2026-02-04 23:48
renew-dummy-cert
725
B
-rwxr-xr-x
2026-06-16 20:44
renice
16.46
KB
-rwxr-xr-x
2026-02-04 23:48
replace
4.53
MB
-rwxr-xr-x
2026-02-11 03:55
reset
24.76
KB
-rwxr-xr-x
2023-10-14 22:24
rev
12.46
KB
-rwxr-xr-x
2026-02-04 23:48
rm
70.38
KB
-rwxr-xr-x
2026-03-24 16:35
rmdir
45.46
KB
-rwxr-xr-x
2026-03-24 16:35
rnano
247.94
KB
-rwxr-xr-x
2024-09-24 05:46
ruby
11.84
KB
-rwxr-xr-x
2025-05-14 16:13
run-with-aspell
85
B
-rwxr-xr-x
2022-04-18 19:40
runcon
37.38
KB
-rwxr-xr-x
2026-03-24 16:35
rvi
1.13
MB
-rwxr-xr-x
2026-06-03 17:16
rview
1.13
MB
-rwxr-xr-x
2026-06-03 17:16
rvim
2.93
MB
-rwxr-xr-x
2026-06-03 17:16
scalar
2.18
MB
-rwxr-xr-x
2025-07-23 10:29
scl
36.87
KB
-rwxr-xr-x
2023-04-01 19:40
scl_enabled
258
B
-rwxr-xr-x
2017-08-25 12:53
scl_source
1.82
KB
-rwxr-xr-x
2023-04-01 19:40
scp
102.84
KB
-rwxr-xr-x
2026-05-04 23:55
script
36.8
KB
-rwxr-xr-x
2026-02-04 23:48
sdiff
105.33
KB
-rwxr-xr-x
2020-05-04 19:45
sed
115.27
KB
-rwxr-xr-x
2026-04-14 22:52
selectorctl
7.63
KB
-rwxr-xr-x
2026-04-10 16:20
seq
53.45
KB
-rwxr-xr-x
2026-03-24 16:35
setsid
16.38
KB
-rwxr-xr-x
2026-02-04 23:48
setterm
45.13
KB
-rwxr-xr-x
2026-02-04 23:48
sftp
159.74
KB
-rwxr-xr-x
2026-05-04 23:55
sh
1.1
MB
-rwxr-xr-x
2025-08-26 12:18
sha1sum
45.55
KB
-rwxr-xr-x
2026-03-24 16:35
sha224sum
45.58
KB
-rwxr-xr-x
2026-03-24 16:35
sha256sum
45.58
KB
-rwxr-xr-x
2026-03-24 16:35
sha384sum
45.59
KB
-rwxr-xr-x
2026-03-24 16:35
sha512sum
45.59
KB
-rwxr-xr-x
2026-03-24 16:35
shred
61.85
KB
-rwxr-xr-x
2026-03-24 16:35
shuf
58.09
KB
-rwxr-xr-x
2026-03-24 16:35
size
33.25
KB
-rwxr-xr-x
2025-12-18 17:51
skill
28.8
KB
-rwxr-xr-x
2023-10-15 00:01
slabtop
20.84
KB
-rwxr-xr-x
2023-10-15 00:01
sleep
37.4
KB
-rwxr-xr-x
2026-03-24 16:35
snice
28.8
KB
-rwxr-xr-x
2023-10-15 00:01
snmpconf
25.44
KB
-rwxr-xr-x
2026-01-19 11:49
soelim
42.55
KB
-rwxr-xr-x
2019-10-13 17:59
sort
123.48
KB
-rwxr-xr-x
2026-03-24 16:35
spell
122
B
-rwxr-xr-x
2022-04-18 19:40
splain
18.7
KB
-rwxr-xr-x
2025-07-28 11:38
split
58.05
KB
-rwxr-xr-x
2026-03-24 16:35
sprof
28.67
KB
-rwxr-xr-x
2026-05-26 13:09
sqlite3
1.28
MB
-rwxr-xr-x
2025-07-29 04:57
ssh
757.61
KB
-rwxr-xr-x
2026-05-04 23:55
ssh-add
346.13
KB
-rwxr-xr-x
2026-05-04 23:55
ssh-agent
325.59
KB
-rwxr-xr-x
2026-05-04 23:55
ssh-copy-id
10.44
KB
-rwxr-xr-x
2026-05-04 23:55
ssh-keygen
427.17
KB
-rwxr-xr-x
2026-05-04 23:55
ssh-keyscan
432.59
KB
-rwxr-xr-x
2026-05-04 23:55
stat
86.16
KB
-rwxr-xr-x
2026-03-24 16:35
stdbuf
49.5
KB
-rwxr-xr-x
2026-03-24 16:35
strace
1.94
MB
-rwxr-xr-x
2025-01-28 05:02
stream
11.83
KB
-rwxr-xr-x
2025-04-01 16:45
strings
37.43
KB
-rwxr-xr-x
2025-12-18 17:51
strip
240.09
KB
-rwxr-xr-x
2025-12-18 17:51
stty
77.61
KB
-rwxr-xr-x
2026-03-24 16:35
sum
45.53
KB
-rwxr-xr-x
2026-03-24 16:35
sync
37.35
KB
-rwxr-xr-x
2026-03-24 16:35
tabs
16.55
KB
-rwxr-xr-x
2023-10-14 22:24
tac
41.49
KB
-rwxr-xr-x
2026-03-24 16:35
tail
74.13
KB
-rwxr-xr-x
2026-03-24 16:35
tar
448.99
KB
-rwxr-xr-x
2025-08-26 12:27
taskset
37.26
KB
-rwxr-xr-x
2026-02-04 23:48
tbl
154.61
KB
-rwxr-xr-x
2019-10-13 17:59
tclsh
9.04
KB
-rwxr-xr-x
2019-10-12 03:55
tclsh8.6
9.04
KB
-rwxr-xr-x
2019-10-12 03:55
tee
41.48
KB
-rwxr-xr-x
2026-03-24 16:35
test
53.55
KB
-rwxr-xr-x
2026-03-24 16:35
tic
85.31
KB
-rwxr-xr-x
2023-10-14 22:24
timeout
41.85
KB
-rwxr-xr-x
2026-03-24 16:35
tload
16.76
KB
-rwxr-xr-x
2023-10-15 00:01
tmpwatch
35.47
KB
-rwxr-xr-x
2019-10-12 15:02
toe
16.45
KB
-rwxr-xr-x
2023-10-14 22:24
top
121.7
KB
-rwxr-xr-x
2023-10-15 00:01
touch
93.94
KB
-rwxr-xr-x
2026-03-24 16:35
tput
24.8
KB
-rwxr-xr-x
2023-10-14 22:24
tr
49.63
KB
-rwxr-xr-x
2026-03-24 16:35
troff
805.02
KB
-rwxr-xr-x
2019-10-13 17:59
true
33.33
KB
-rwxr-xr-x
2026-03-24 16:35
truncate
41.36
KB
-rwxr-xr-x
2026-03-24 16:35
tset
24.76
KB
-rwxr-xr-x
2023-10-14 22:24
tsort
41.49
KB
-rwxr-xr-x
2026-03-24 16:35
tty
33.31
KB
-rwxr-xr-x
2026-03-24 16:35
tzselect
15.01
KB
-rwxr-xr-x
2026-05-26 13:02
uapi
1.25
KB
-rwxr-xr-x
2026-06-17 22:38
ul
20.59
KB
-rwxr-xr-x
2026-02-04 23:48
uname
37.33
KB
-rwxr-xr-x
2026-03-24 16:35
unexpand
45.61
KB
-rwxr-xr-x
2026-03-24 16:35
uniq
49.64
KB
-rwxr-xr-x
2026-03-24 16:35
unlink
33.34
KB
-rwxr-xr-x
2026-03-24 16:35
unzip
201.88
KB
-rwxr-xr-x
2025-06-03 05:40
unzipsfx
101.48
KB
-rwxr-xr-x
2025-06-03 05:40
uptime
12.59
KB
-rwxr-xr-x
2023-10-15 00:01
users
37.4
KB
-rwxr-xr-x
2026-03-24 16:35
utmpdump
28.66
KB
-rwxr-xr-x
2026-02-04 23:48
vdir
139.91
KB
-rwxr-xr-x
2026-03-24 16:35
vi
1.13
MB
-rwxr-xr-x
2026-06-03 17:16
view
1.13
MB
-rwxr-xr-x
2026-06-03 17:16
vim
2.93
MB
-rwxr-xr-x
2026-06-03 17:16
vimdiff
2.93
MB
-rwxr-xr-x
2026-06-03 17:16
vimtutor
2.07
KB
-rwxr-xr-x
2026-06-03 17:15
vmstat
36.79
KB
-rwxr-xr-x
2023-10-15 00:01
watch
29.19
KB
-rwxr-xr-x
2023-10-15 00:01
wc
49.64
KB
-rwxr-xr-x
2026-03-24 16:35
wget
521.41
KB
-rwxr-xr-x
2024-08-14 01:52
whereis
29.27
KB
-rwxr-xr-x
2026-02-04 23:48
which
29.38
KB
-rwxr-xr-x
2025-08-26 12:24
who
53.59
KB
-rwxr-xr-x
2026-03-24 16:35
whoami
33.34
KB
-rwxr-xr-x
2026-03-24 16:35
word-list-compress
11.99
KB
-rwxr-xr-x
2022-04-18 19:40
x86_64-redhat-linux-c++
1.21
MB
-rwxr-x---
2025-08-26 13:17
x86_64-redhat-linux-g++
1.21
MB
-rwxr-x---
2025-08-26 13:17
x86_64-redhat-linux-gcc
1.21
MB
-rwxr-x---
2025-08-26 13:17
x86_64-redhat-linux-gcc-8
1.21
MB
-rwxr-x---
2025-08-26 13:17
xargs
74.11
KB
-rwxr-xr-x
2025-12-18 18:27
xmlcatalog
20.38
KB
-rwxr-xr-x
2026-06-16 20:05
xmllint
73.37
KB
-rwxr-xr-x
2026-06-16 20:05
xmlwf
36.97
KB
-rwxr-xr-x
2026-06-03 15:05
xsltproc
28.47
KB
-rwxr-xr-x
2026-06-16 20:09
xsubpp
4.96
KB
-rwxr-xr-x
2019-10-13 12:28
xxd
20.54
KB
-rwxr-xr-x
2026-06-03 17:16
yes
33.37
KB
-rwxr-xr-x
2026-03-24 16:35
zcat
1.94
KB
-rwxr-xr-x
2022-04-27 10:19
zcmp
1.64
KB
-rwxr-xr-x
2022-04-27 10:19
zdiff
5.74
KB
-rwxr-xr-x
2022-04-27 10:19
zegrep
29
B
-rwxr-xr-x
2022-04-27 10:19
zfgrep
29
B
-rwxr-xr-x
2022-04-27 10:19
zforce
2.03
KB
-rwxr-xr-x
2022-04-27 10:19
zgrep
7.4
KB
-rwxr-xr-x
2022-04-27 10:19
zip
229
KB
-rwxr-xr-x
2019-10-11 16:41
zipcloak
102.91
KB
-rwxr-xr-x
2019-10-11 16:41
zipgrep
2.88
KB
-rwxr-xr-x
2008-10-10 21:10
zipinfo
201.88
KB
-rwxr-xr-x
2025-06-03 05:40
zipnote
97.76
KB
-rwxr-xr-x
2019-10-11 16:41
zipsplit
97.76
KB
-rwxr-xr-x
2019-10-11 16:41
zless
2.15
KB
-rwxr-xr-x
2022-04-27 10:19
zmore
1.8
KB
-rwxr-xr-x
2022-04-27 10:19
znew
4.45
KB
-rwxr-xr-x
2022-04-27 10:19
zsoelim
42.55
KB
-rwxr-xr-x
2019-10-13 17:59
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 # =-=-=-=