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