OXIESEC PANEL
- Current Dir:
/
/
snap
/
core24
/
988
/
usr
/
bin
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
π
..
-
05/04/2025 04:37:38 PM
rwxr-xr-x
π
[
54.44 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
aa-enabled
18.3 KB
03/19/2025 06:09:43 PM
rwxr-xr-x
π
aa-exec
18.3 KB
03/19/2025 06:09:43 PM
rwxr-xr-x
π
aa-features-abi
18.3 KB
03/19/2025 06:09:43 PM
rwxr-xr-x
π
addpart
14.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
arch
34.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
awk
166.77 KB
04/08/2024 04:12:02 PM
rwxr-xr-x
π
b2sum
54.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
base32
38.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
base64
38.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
basename
34.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
basenc
46.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
bash
1.38 MB
03/31/2024 08:41:03 AM
rwxr-xr-x
π
bashbug
6.82 KB
03/31/2024 08:41:03 AM
rwxr-xr-x
π
bunzip2
38.38 KB
08/09/2024 02:33:21 AM
rwxr-xr-x
π
busctl
94.59 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
bzcat
38.38 KB
08/09/2024 02:33:21 AM
rwxr-xr-x
π
bzcmp
2.17 KB
08/09/2024 02:33:21 AM
rwxr-xr-x
π
bzdiff
2.17 KB
08/09/2024 02:33:21 AM
rwxr-xr-x
π
bzegrep
3.69 KB
08/09/2024 02:33:21 AM
rwxr-xr-x
π
bzexe
4.78 KB
11/27/2021 12:25:05 PM
rwxr-xr-x
π
bzfgrep
3.69 KB
08/09/2024 02:33:21 AM
rwxr-xr-x
π
bzgrep
3.69 KB
08/09/2024 02:33:21 AM
rwxr-xr-x
π
bzip2
38.38 KB
08/09/2024 02:33:21 AM
rwxr-xr-x
π
bzip2recover
18.3 KB
08/09/2024 02:33:21 AM
rwxr-xr-x
π
bzless
1.27 KB
08/09/2024 02:33:21 AM
rwxr-xr-x
π
bzmore
1.27 KB
08/09/2024 02:33:21 AM
rwxr-xr-x
π
captoinfo
90.41 KB
04/08/2024 04:14:03 PM
rwxr-xr-x
π
cat
38.46 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
chage
70.49 KB
05/30/2024 02:52:35 PM
rwxr-xr-x
π
chardet
221 bytes
08/20/2023 12:12:03 PM
rwxr-xr-x
π
chardetect
221 bytes
08/20/2023 12:12:03 PM
rwxr-xr-x
π
chattr
14.31 KB
04/28/2024 11:44:46 PM
rwxr-xr-x
π
chcon
58.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
chfn
71.09 KB
05/30/2024 02:52:35 PM
rwxr-xr-x
π
chgrp
58.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
chmod
54.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
choom
22.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
chown
58.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
chrt
30.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
chsh
43.71 KB
05/30/2024 02:52:35 PM
rwxr-xr-x
π
cksum
102.52 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
clear
14.31 KB
04/08/2024 04:14:03 PM
rwxr-xr-x
π
clear_console
14.23 KB
03/31/2024 08:41:03 AM
rwxr-xr-x
π
cloud-id
972 bytes
04/02/2025 03:09:15 PM
rwxr-xr-x
π
cloud-init
976 bytes
04/02/2025 03:09:15 PM
rwxr-xr-x
π
cloud-init-per
2.06 KB
01/15/2025 03:24:11 PM
rwxr-xr-x
π
cmp
42.39 KB
04/08/2024 03:55:59 PM
rwxr-xr-x
π
comm
38.52 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
core-sshd-host-keygen
1.49 KB
05/04/2025 04:30:49 PM
rwxr-xr-x
π
coredumpctl
82.66 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
cp
138.52 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
csplit
50.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
ctstat
22.66 KB
03/31/2024 09:00:13 AM
rwxr-xr-x
π
cut
38.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
cvtsudoers
321.13 KB
04/08/2024 02:50:39 PM
rwxr-xr-x
π
dash
126.74 KB
03/31/2024 08:47:26 AM
rwxr-xr-x
π
date
106.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
dbus-cleanup-sockets
14.29 KB
08/09/2024 02:33:22 AM
rwxr-xr-x
π
dbus-daemon
230.64 KB
08/09/2024 02:33:22 AM
rwxr-xr-x
π
dbus-monitor
26.3 KB
08/09/2024 02:33:22 AM
rwxr-xr-x
π
dbus-run-session
14.3 KB
08/09/2024 02:33:22 AM
rwxr-xr-x
π
dbus-send
30.29 KB
08/09/2024 02:33:22 AM
rwxr-xr-x
π
dbus-update-activation-environment
14.29 KB
08/09/2024 02:33:22 AM
rwxr-xr-x
π
dbus-uuidgen
14.29 KB
08/09/2024 02:33:22 AM
rwxr-xr-x
π
dd
70.54 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
delpart
14.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
df
87.08 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
diff
134.55 KB
04/08/2024 03:55:59 PM
rwxr-xr-x
π
diff3
58.52 KB
04/08/2024 03:55:59 PM
rwxr-xr-x
π
dir
138.98 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
dircolors
46.52 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
dirname
34.38 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
dmesg
68.64 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
dnsdomainname
22.23 KB
04/08/2024 03:59:01 PM
rwxr-xr-x
π
domainname
22.23 KB
04/08/2024 03:59:01 PM
rwxr-xr-x
π
dpkg-deb
142.58 KB
07/17/2024 09:09:50 AM
rwxr-xr-x
π
dpkg-realpath
4.09 KB
07/17/2024 09:09:50 AM
rwxr-xr-x
π
du
98.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
ec2metadata
8.38 KB
06/03/2022 10:51:54 AM
rwxr-xr-x
π
echo
34.38 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
editor
1.66 MB
04/01/2025 08:12:31 PM
rwxr-xr-x
π
egrep
41 bytes
04/08/2024 03:58:39 PM
rwxr-xr-x
π
env
46.95 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
ex
1.66 MB
04/01/2025 08:12:31 PM
rwxr-xr-x
π
expand
34.53 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
expiry
26.52 KB
05/30/2024 02:52:35 PM
rwxr-xr-x
π
expr
42.41 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
factor
62.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
faillog
22.63 KB
05/30/2024 02:52:35 PM
rwxr-xr-x
π
fallocate
26.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
false
26.3 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
fgrep
41 bytes
04/08/2024 03:58:39 PM
rwxr-xr-x
π
finalrd
2.06 KB
02/16/2022 04:56:26 PM
rwxr-xr-x
π
find
199.48 KB
04/08/2024 03:57:28 PM
rwxr-xr-x
π
findmnt
67.66 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
flock
22.48 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
fmt
38.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
fold
34.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
free
26.38 KB
09/26/2024 08:44:05 AM
rwxr-xr-x
π
gdbserver
615.98 KB
04/03/2024 10:51:19 AM
rwxr-xr-x
π
getconf
26.36 KB
01/28/2025 05:07:37 PM
rwxr-xr-x
π
getent
38.72 KB
01/28/2025 05:07:37 PM
rwxr-xr-x
π
getopt
22.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
gpasswd
74.46 KB
05/30/2024 02:52:35 PM
rwxr-xr-x
π
gpgv
303.14 KB
03/28/2025 03:23:49 PM
rwxr-xr-x
π
grep
182.45 KB
04/08/2024 03:58:39 PM
rwxr-xr-x
π
groups
34.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
growpart
29.19 KB
06/03/2022 10:51:54 AM
rwxr-xr-x
π
gunzip
2.29 KB
04/08/2024 03:58:45 PM
rwxr-xr-x
π
gzexe
6.3 KB
04/08/2024 03:58:45 PM
rwxr-xr-x
π
gzip
91.23 KB
04/08/2024 03:58:45 PM
rwxr-xr-x
π
hardlink
46.48 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
head
42.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
hostid
34.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
hostname
22.23 KB
04/08/2024 03:59:01 PM
rwxr-xr-x
π
hostnamectl
30.45 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
i386
26.65 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
iconv
66.48 KB
01/28/2025 05:07:37 PM
rwxr-xr-x
π
id
38.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
infocmp
66.38 KB
04/08/2024 04:14:03 PM
rwxr-xr-x
π
infotocap
90.41 KB
04/08/2024 04:14:03 PM
rwxr-xr-x
π
install
142.52 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
ionice
18.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
ip
754.74 KB
03/31/2024 09:00:13 AM
rwxr-xr-x
π
ipcmk
22.45 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
ipcrm
18.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
ipcs
38.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
iptables-xml
92.95 KB
04/08/2024 03:59:59 PM
rwxr-xr-x
π
ischroot
14.48 KB
03/31/2024 08:47:33 AM
rwxr-xr-x
π
join
50.55 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
journalctl
78.91 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
json-patch-jsondiff
1004 bytes
08/21/2023 01:10:58 PM
rwxr-xr-x
π
jsondiff
1004 bytes
08/21/2023 01:10:58 PM
rwxr-xr-x
π
jsonpatch
3.77 KB
08/21/2023 01:10:58 PM
rwxr-xr-x
π
jsonpointer
1.79 KB
01/24/2020 03:25:15 AM
rwxr-xr-x
π
jsonschema
213 bytes
08/14/2023 09:45:04 PM
rwxr-xr-x
π
kernel-install
54.67 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
kill
22.38 KB
09/26/2024 08:44:05 AM
rwxr-xr-x
π
kmod
170.24 KB
10/02/2024 12:40:49 PM
rwxr-xr-x
π
kmodsign
18.45 KB
04/08/2024 02:49:32 PM
rwxr-xr-x
π
last
34.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
lastb
34.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
lastlog
27.79 KB
05/30/2024 02:52:35 PM
rwxr-xr-x
π
lcf
7.6 KB
01/27/2023 01:29:51 PM
rwxr-xr-x
π
ld.so
231.07 KB
01/28/2025 05:07:37 PM
rwxr-xr-x
π
ldd
5.26 KB
01/28/2025 05:07:37 PM
rwxr-xr-x
π
less
190.38 KB
04/28/2024 11:44:40 AM
rwxr-xr-x
π
lessecho
14.31 KB
04/28/2024 11:44:40 AM
rwxr-xr-x
π
lessfile
8.83 KB
02/12/2023 10:17:35 AM
rwxr-xr-x
π
lesskey
23.7 KB
04/28/2024 11:44:40 AM
rwxr-xr-x
π
lesspipe
8.83 KB
02/12/2023 10:17:35 AM
rwxr-xr-x
π
link
34.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
linux32
26.65 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
linux64
26.65 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
ln
54.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
lnstat
22.66 KB
03/31/2024 09:00:13 AM
rwxr-xr-x
π
locale
49.63 KB
01/28/2025 05:07:37 PM
rwxr-xr-x
π
locale-check
14.15 KB
02/05/2025 04:08:58 PM
rwxr-xr-x
π
localectl
26.45 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
localedef
319.09 KB
01/28/2025 05:07:37 PM
rwxr-xr-x
π
logger
38.97 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
login
51.81 KB
05/30/2024 02:52:35 PM
rwxr-xr-x
π
loginctl
66.58 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
logname
34.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
ls
138.98 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
lsattr
14.31 KB
04/28/2024 11:44:46 PM
rwxr-xr-x
π
lsblk
146.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
lscpu
110.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
lsipc
50.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
lslocks
30.77 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
lslogins
50.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
lsmem
38.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
lsmod
170.24 KB
10/02/2024 12:40:49 PM
rwxr-xr-x
π
lsns
42.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
man
128 bytes
05/04/2025 04:30:49 PM
rwxr-xr-x
π
mawk
166.77 KB
04/08/2024 04:12:02 PM
rwxr-xr-x
π
mcookie
26.45 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
md5sum
38.41 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
md5sum.textutils
38.41 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
mesg
14.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
mkdir
74.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
mkfifo
42.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
mknod
42.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
mksquashfs
286.95 KB
04/08/2024 04:20:03 PM
rwxr-xr-x
π
mkswapfile
865 bytes
05/04/2025 04:30:49 PM
rwxr-xr-x
π
mktemp
34.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
more
46.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
mount
50.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
mountpoint
18.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
mv
134.52 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
namei
22.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
nawk
166.77 KB
04/08/2024 04:12:02 PM
rwxr-xr-x
π
nc
38.63 KB
04/08/2024 04:14:20 PM
rwxr-xr-x
π
nc.openbsd
38.63 KB
04/08/2024 04:14:20 PM
rwxr-xr-x
π
netcat
38.63 KB
04/08/2024 04:14:20 PM
rwxr-xr-x
π
networkctl
122.58 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
newgrp
39.71 KB
05/30/2024 02:52:35 PM
rwxr-xr-x
π
nice
34.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
nisdomainname
22.23 KB
04/08/2024 03:59:01 PM
rwxr-xr-x
π
nl
38.6 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
nohup
34.41 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
nproc
34.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
nsenter
30.6 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
nstat
30.38 KB
03/31/2024 09:00:13 AM
rwxr-xr-x
π
numfmt
58.54 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
od
70.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
openssl
981.8 KB
02/05/2025 01:17:43 PM
rwxr-xr-x
π
p11-kit
206.7 KB
08/09/2024 02:33:21 AM
rwxr-xr-x
π
p11tool
218.38 KB
02/12/2025 02:55:11 PM
rwxr-xr-x
π
pager
190.38 KB
04/28/2024 11:44:40 AM
rwxr-xr-x
π
partx
62.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
passwd
62.65 KB
05/30/2024 02:52:35 PM
rwxr-xr-x
π
paste
38.41 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
pathchk
34.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
pdb3
67.83 KB
02/04/2025 02:48:35 PM
rwxr-xr-x
π
pdb3.12
67.83 KB
02/04/2025 02:48:35 PM
rwxr-xr-x
π
pgrep
34.47 KB
09/26/2024 08:44:05 AM
rwxr-xr-x
π
pidof
26.23 KB
04/08/2024 04:20:36 PM
rwxr-xr-x
π
pidwait
34.47 KB
09/26/2024 08:44:05 AM
rwxr-xr-x
π
ping
87.66 KB
04/08/2024 04:00:16 PM
rwxr-xr-x
π
ping4
87.66 KB
04/08/2024 04:00:16 PM
rwxr-xr-x
π
ping6
87.66 KB
04/08/2024 04:00:16 PM
rwxr-xr-x
π
pinky
38.41 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
pkaction
18.3 KB
12/02/2024 11:59:52 AM
rwxr-xr-x
π
pkcheck
22.3 KB
12/02/2024 11:59:52 AM
rwxr-xr-x
π
pkcs11-tool
184.61 KB
04/01/2024 07:06:24 AM
rwxr-xr-x
π
pkill
34.47 KB
09/26/2024 08:44:05 AM
rwxr-xr-x
π
pkttyagent
22.3 KB
12/02/2024 11:59:52 AM
rwxr-xr-x
π
pldd
22.44 KB
01/28/2025 05:07:37 PM
rwxr-xr-x
π
plymouth
46.3 KB
02/25/2025 05:47:08 AM
rwxr-xr-x
π
pmap
34.4 KB
09/26/2024 08:44:05 AM
rwxr-xr-x
π
pr
70.58 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
printenv
34.38 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
printf
54.44 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
prlimit
26.89 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
ps
142.99 KB
09/26/2024 08:44:05 AM
rwxr-xr-x
π
ptx
54.54 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
pwd
34.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
pwdx
14.38 KB
09/26/2024 08:44:05 AM
rwxr-xr-x
π
py3clean
7.63 KB
08/07/2024 05:44:52 PM
rwxr-xr-x
π
py3compile
13 KB
08/07/2024 05:44:52 PM
rwxr-xr-x
π
py3versions
12.52 KB
08/07/2024 05:44:52 PM
rwxr-xr-x
π
pydoc3
80 bytes
02/04/2025 02:48:35 PM
rwxr-xr-x
π
pydoc3.12
80 bytes
02/04/2025 02:48:35 PM
rwxr-xr-x
π
pygettext3
23.66 KB
02/04/2025 02:48:35 PM
rwxr-xr-x
π
pygettext3.12
23.66 KB
02/04/2025 02:48:35 PM
rwxr-xr-x
π
pyserial-miniterm
975 bytes
11/24/2023 10:38:53 AM
rwxr-xr-x
π
pyserial-ports
969 bytes
11/24/2023 10:38:53 AM
rwxr-xr-x
π
python3
7.65 MB
02/04/2025 02:48:35 PM
rwxr-xr-x
π
python3.12
7.65 MB
02/04/2025 02:48:35 PM
rwxr-xr-x
π
rbash
1.38 MB
03/31/2024 08:41:03 AM
rwxr-xr-x
π
rdma
102.52 KB
03/31/2024 09:00:13 AM
rwxr-xr-x
π
readlink
42.41 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
realpath
42.41 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
rename.ul
22.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
renice
14.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
reset
26.31 KB
04/08/2024 04:14:03 PM
rwxr-xr-x
π
resizepart
22.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
resolvectl
158.67 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
rev
14.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
rgrep
30 bytes
07/21/2023 02:47:24 PM
rwxr-xr-x
π
rm
58.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
rmdir
46.41 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
routel
1.62 KB
03/31/2024 09:00:13 AM
rwxr-xr-x
π
rtstat
22.66 KB
03/31/2024 09:00:13 AM
rwxr-xr-x
π
run-parts
26.82 KB
03/31/2024 08:47:33 AM
rwxr-xr-x
π
runcon
34.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
rview
1.66 MB
04/01/2025 08:12:31 PM
rwxr-xr-x
π
savelog
10.24 KB
03/31/2024 08:47:33 AM
rwxr-xr-x
π
sbattach
22.54 KB
04/08/2024 02:49:32 PM
rwxr-xr-x
π
sbkeysync
34.74 KB
04/08/2024 02:49:32 PM
rwxr-xr-x
π
sbsiglist
14.6 KB
04/08/2024 02:49:32 PM
rwxr-xr-x
π
sbsign
34.7 KB
04/08/2024 02:49:32 PM
rwxr-xr-x
π
sbvarsign
22.73 KB
04/08/2024 02:49:32 PM
rwxr-xr-x
π
sbverify
30.61 KB
04/08/2024 02:49:32 PM
rwxr-xr-x
π
scp
134.59 KB
04/22/2025 11:51:46 AM
rwxr-xr-x
π
script
54.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
scriptlive
42.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
scriptreplay
34.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
sdiff
50.39 KB
04/08/2024 03:55:59 PM
rwxr-xr-x
π
sed
110.57 KB
04/08/2024 04:19:08 PM
rwxr-xr-x
π
select-editor
2.39 KB
02/04/2024 06:05:15 PM
rwxr-xr-x
π
sensible-browser
1.55 KB
02/04/2024 06:05:15 PM
rwxr-xr-x
π
sensible-editor
1.52 KB
02/04/2024 06:05:15 PM
rwxr-xr-x
π
sensible-pager
921 bytes
02/04/2024 06:05:15 PM
rwxr-xr-x
π
sensible-terminal
1.15 KB
02/04/2024 06:05:15 PM
rwxr-xr-x
π
seq
50.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
setarch
26.65 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
setpriv
38.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
setsid
14.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
setterm
34.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
sftp
150.66 KB
04/22/2025 11:51:46 AM
rwxr-xr-x
π
sg
39.71 KB
05/30/2024 02:52:35 PM
rwxr-xr-x
π
sh
126.74 KB
03/31/2024 08:47:26 AM
rwxr-xr-x
π
sha1sum
38.41 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
sha224sum
38.41 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
sha256sum
38.41 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
sha384sum
38.41 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
sha512sum
38.41 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
shred
54.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
shuf
46.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
skill
26.41 KB
09/26/2024 08:44:05 AM
rwxr-xr-x
π
slabtop
22.44 KB
09/26/2024 08:44:05 AM
rwxr-xr-x
π
sleep
34.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
slogin
827.04 KB
04/22/2025 11:51:46 AM
rwxr-xr-x
π
snap
0 bytes
01/01/1970 12:00:00 AM
---------
π
snapctl
0 bytes
01/01/1970 12:00:00 AM
---------
π
snice
26.41 KB
09/26/2024 08:44:05 AM
rwxr-xr-x
π
sort
102.8 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
splash-client
404 bytes
05/04/2025 04:30:49 PM
rwxr-xr-x
π
split
54.94 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
sqfscat
147.9 KB
04/08/2024 04:20:03 PM
rwxr-xr-x
π
sqfstar
286.95 KB
04/08/2024 04:20:03 PM
rwxr-xr-x
π
ss
129.07 KB
03/31/2024 09:00:13 AM
rwxr-xr-x
π
ssh
827.04 KB
04/22/2025 11:51:46 AM
rwxr-xr-x
π
ssh-add
294.42 KB
04/22/2025 11:51:46 AM
rwxr-xr-x
π
ssh-agent
302.43 KB
04/22/2025 11:51:46 AM
rwxr-xr-x
π
ssh-argv0
1.42 KB
07/30/2024 04:12:40 PM
rwxr-xr-x
π
ssh-copy-id
12.77 KB
12/18/2023 02:59:50 PM
rwxr-xr-x
π
ssh-keygen
442.44 KB
04/22/2025 11:51:46 AM
rwxr-xr-x
π
ssh-keyscan
330.44 KB
04/22/2025 11:51:46 AM
rwxr-xr-x
π
stat
86.52 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
stdbuf
50.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
stty
78.52 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
su
54.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
sudo
271.42 KB
04/08/2024 02:50:39 PM
rwxr-xr-x
π
sudoedit
271.42 KB
04/08/2024 02:50:39 PM
rwxr-xr-x
π
sudoreplay
95.95 KB
04/08/2024 02:50:39 PM
rwxr-xr-x
π
sum
34.41 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
sync
34.41 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
systemctl
1.43 MB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd
98.45 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-ac-power
14.45 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-analyze
198.85 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-ask-password
18.58 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-cat
18.45 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-cgls
22.57 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-cgtop
38.47 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-confext
54.64 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-creds
42.72 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-cryptenroll
70.92 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-cryptsetup
78.95 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-delta
26.45 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-detect-virt
18.45 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-escape
22.45 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-firstboot
58.82 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-hwdb
154.74 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-id128
22.45 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-inhibit
22.47 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-machine-id-setup
18.63 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-mount
50.78 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-notify
26.66 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-path
18.45 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-repart
195.23 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-run
66.79 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-socket-activate
30.45 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-stdio-bridge
22.45 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-sysext
54.64 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-sysusers
66.63 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-tmpfiles
114.7 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-tty-ask-password-agent
34.45 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
systemd-umount
50.78 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
tabs
18.3 KB
04/08/2024 04:14:03 PM
rwxr-xr-x
π
tac
38.41 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
tail
62.53 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
tar
421.92 KB
04/08/2024 04:20:47 PM
rwxr-xr-x
π
taskset
30.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
tee
38.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
tempfile
14.3 KB
03/31/2024 08:47:33 AM
rwxr-xr-x
π
test
46.44 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
tic
90.41 KB
04/08/2024 04:14:03 PM
rwxr-xr-x
π
timedatectl
815 bytes
05/04/2025 04:33:02 PM
rwxr-xr-x
π
timedatectl.real
46.45 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
timeout
38.95 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
tload
22.39 KB
09/26/2024 08:44:05 AM
rwxr-xr-x
π
toe
22.3 KB
04/08/2024 04:14:03 PM
rwxr-xr-x
π
top
131.7 KB
09/26/2024 08:44:05 AM
rwxr-xr-x
π
touch
94.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
tput
26.34 KB
04/08/2024 04:14:03 PM
rwxr-xr-x
π
tr
46.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
true
26.3 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
truncate
38.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
tset
26.31 KB
04/08/2024 04:14:03 PM
rwxr-xr-x
π
tsort
46.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
tty
34.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
tzselect
15.02 KB
01/28/2025 05:07:37 PM
rwxr-xr-x
π
ucf
40.68 KB
01/27/2023 01:29:51 PM
rwxr-xr-x
π
ucfr
10.85 KB
01/27/2023 01:29:51 PM
rwxr-xr-x
π
uclampset
30.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
udevadm
1.37 MB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
umount
38.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
uname
34.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
uncompress
2.29 KB
04/08/2024 03:58:45 PM
rwxr-xr-x
π
unexpand
38.53 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
uniq
38.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
unlink
34.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
unshare
42.6 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
unsquashfs
147.9 KB
04/08/2024 04:20:03 PM
rwxr-xr-x
π
update-alternatives
58.38 KB
07/17/2024 09:09:50 AM
rwxr-xr-x
π
uptime
14.38 KB
09/26/2024 08:44:05 AM
rwxr-xr-x
π
users
34.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
utmpdump
22.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
varlinkctl
30.45 KB
02/21/2025 09:18:31 PM
rwxr-xr-x
π
vcs-run
6.75 KB
06/03/2022 10:51:54 AM
rwxr-xr-x
π
vdir
138.98 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
vi
1.66 MB
04/01/2025 08:12:31 PM
rwxr-xr-x
π
view
1.66 MB
04/01/2025 08:12:31 PM
rwxr-xr-x
π
vim.tiny
1.66 MB
04/01/2025 08:12:31 PM
rwxr-xr-x
π
vmstat
38.78 KB
09/26/2024 08:44:05 AM
rwxr-xr-x
π
w
26.38 KB
09/26/2024 08:44:05 AM
rwxr-xr-x
π
wall
22.38 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
watch
30.84 KB
09/26/2024 08:44:05 AM
rwxr-xr-x
π
wc
54.52 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
wdctl
34.4 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
whereis
30.84 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
which
1.05 KB
03/31/2024 08:47:33 AM
rwxr-xr-x
π
which.debianutils
1.05 KB
03/31/2024 08:47:33 AM
rwxr-xr-x
π
who
58.52 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
whoami
34.51 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
wpa_passphrase
14.38 KB
02/21/2025 09:03:52 PM
rwxr-xr-x
π
x86_64
26.65 KB
12/05/2024 02:26:54 AM
rwxr-xr-x
π
xargs
62.41 KB
04/08/2024 03:57:28 PM
rwxr-xr-x
π
xdg-email
38 bytes
05/04/2025 04:33:03 PM
rwxr-xr-x
π
xdg-open
38 bytes
05/04/2025 04:33:03 PM
rwxr-xr-x
π
xdg-settings
1.68 KB
05/04/2025 04:33:03 PM
rwxr-xr-x
π
yes
34.38 KB
04/05/2024 02:36:57 PM
rwxr-xr-x
π
ypdomainname
22.23 KB
04/08/2024 03:59:01 PM
rwxr-xr-x
π
zcat
1.94 KB
04/08/2024 03:58:45 PM
rwxr-xr-x
π
zcmp
1.64 KB
04/08/2024 03:58:45 PM
rwxr-xr-x
π
zdiff
6.31 KB
04/08/2024 03:58:45 PM
rwxr-xr-x
π
zdump
30.28 KB
01/28/2025 05:07:37 PM
rwxr-xr-x
π
zegrep
29 bytes
04/08/2024 03:58:45 PM
rwxr-xr-x
π
zfgrep
29 bytes
04/08/2024 03:58:45 PM
rwxr-xr-x
π
zforce
2.03 KB
04/08/2024 03:58:45 PM
rwxr-xr-x
π
zgrep
7.91 KB
04/08/2024 03:58:45 PM
rwxr-xr-x
π
zless
2.15 KB
04/08/2024 03:58:45 PM
rwxr-xr-x
π
zmore
1.8 KB
04/08/2024 03:58:45 PM
rwxr-xr-x
π
znew
4.47 KB
04/08/2024 03:58:45 PM
rwxr-xr-x
Editing: ssh-copy-id
Close
#!/bin/sh # Copyright (c) 1999-2023 Philip Hands <phil@hands.com> # 2021 Carlos RodrΓguez Gili <carlos.rodriguez-gili@upc.edu> # 2020 Matthias BlΓΌmel <blaimi@blaimi.de> # 2017 Sebastien Boyron <seb@boyron.eu> # 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 # shellcheck shell=dash # 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 # shellcheck disable=SC2010 DEFAULT_PUB_ID_FILE=$(ls -t "${HOME}"/.ssh/id*.pub 2>/dev/null | grep -v -- '-cert.pub$' | head -n 1) SSH="ssh -a -x" TARGET_PATH=".ssh/authorized_keys" umask 0177 usage () { printf 'Usage: %s [-h|-?|-f|-n|-s|-x] [-i [identity_file]] [-p port] [-F alternative ssh_config file] [-t target_path] [[-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-s: use sftp -- use sftp instead of executing remote-commands. Can be useful if the remote only allows sftp\n' >&2 printf '\t-x: debug -- enables -x in this shell, for debugging\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() { 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 ) || { 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 getopts "i:o:p:F:t:fnsxh?" OPT do case "$OPT" in i) [ "${SEEN_OPT_I}" ] && { printf '\n%s: ERROR: -i option must not be specified more than once\n\n' "$0" usage } SEEN_OPT_I="yes" use_id_file "${OPTARG:-$DEFAULT_PUB_ID_FILE}" ;; o|F) OPTS_oF="${OPTS_oF:+$OPTS_oF }-$OPT '$(quote "${OPTARG}")'" ;; f) FORCED=1 ;; n) DRY_RUN=1 ;; p) SSH_PORT=${OPTARG} ;; s) SFTP=sftp ;; t) TARGET_PATH="${OPTARG}" ;; x) SET_X="set -x;" set -x ;; h|\?) usage ;; esac done #shift all args to keep only USER_HOST shift $((OPTIND-1)) 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 USER_HOST="$*" # tack the hostname onto SSH_OPTS OPTS_USER_HOST="${OPTS_oF:+$OPTS_oF }'$(quote "$USER_HOST")'" SSH_OPTS="${SSH_PORT:+-p $SSH_PORT }$OPTS_USER_HOST" # and populate "$@" for later use (only way to get proper quoting of options) eval set -- "$SSH_OPTS" # shellcheck disable=SC2086 if [ -z "$(eval $GET_ID)" ] && [ -r "${PUB_ID_FILE:=$DEFAULT_PUB_ID_FILE}" ] ; then use_id_file "$PUB_ID_FILE" fi # shellcheck disable=SC2086 if [ -z "$(eval $GET_ID)" ] ; then printf '%s: ERROR: No identities found\n' "$0" >&2 exit 1 fi # filter_ids() # tries to log in using the keys piped to it, and filters out any that work filter_ids() { L_SUCCESS="$1" L_TMP_ID_FILE="$SCRATCH_DIR"/popids_tmp_id L_OUTPUT_FILE="$SCRATCH_DIR"/popids_output # repopulate "$@" inside this function eval set -- "$SSH_OPTS" while read -r 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 >"$L_OUTPUT_FILE" 2>&1 </dev/null if [ "$?" = "$L_SUCCESS" ] || { [ "$SFTP" ] && grep 'allows sftp connections only' "$L_OUTPUT_FILE" >/dev/null # this error counts as a success if we're setting up an sftp connection } then : > "$L_TMP_ID_FILE" else grep 'Permission denied' "$L_OUTPUT_FILE" >/dev/null || { sed -e 's/^/ERROR: /' <"$L_OUTPUT_FILE" >"$L_TMP_ID_FILE" cat >/dev/null #consume the other keys, causing loop to end } fi cat "$L_TMP_ID_FILE" done } # populate_new_ids() uses several global variables ($USER_HOST, $SSH_OPTS ...) # and has the side effect of setting $NEW_IDS populate_new_ids() { if [ "$FORCED" ] ; then # shellcheck disable=SC2086 NEW_IDS=$(eval $GET_ID) return fi printf '%s: INFO: attempting to log in with the new key(s), to filter out any that are already installed\n' "$0" >&2 # shellcheck disable=SC2086 NEW_IDS=$(eval $GET_ID | filter_ids $1) 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 } # installkey_sh [target_path] # produce a one-liner to add the keys to remote $TARGET_PATH installkeys_sh() { # In setting INSTALLKEYS_SH: # the tr puts it all on one line (to placate tcsh) # (hence the excessive use of semi-colons (;) ) # then in the command: # cd to be at $HOME, just in case; # the -z `tail ...` checks for a trailing newline. The echo adds one if was missing # the cat adds the keys we're getting via STDIN # and if available restorecon is used to restore the SELinux context # OpenWrt has a special case for root only. INSTALLKEYS_SH=$(tr '\t\n' ' ' <<-EOF $SET_X cd; umask 077; AUTH_KEY_FILE="${TARGET_PATH}"; [ -f /etc/openwrt_release ] && [ "\$LOGNAME" = "root" ] && AUTH_KEY_FILE=/etc/dropbear/authorized_keys; AUTH_KEY_DIR=\`dirname "\${AUTH_KEY_FILE}"\`; mkdir -p "\${AUTH_KEY_DIR}" && { [ -z "\`tail -1c "\${AUTH_KEY_FILE}" 2>/dev/null\`" ] || echo >> "\${AUTH_KEY_FILE}" || exit 1; } && cat >> "\${AUTH_KEY_FILE}" || exit 1; if type restorecon >/dev/null 2>&1; then restorecon -F "\${AUTH_KEY_DIR}" "\${AUTH_KEY_FILE}"; fi EOF ) # to defend against quirky remote shells: use 'exec sh -c' to get POSIX; printf "exec sh -c '%s'" "${INSTALLKEYS_SH}" } #shellcheck disable=SC2120 # the 'eval set' confuses this installkeys_via_sftp() { AUTH_KEY_FILE=${TARGET_PATH} AUTH_KEY_DIR=$(dirname "${AUTH_KEY_FILE}") # repopulate "$@" inside this function eval set -- "$SSH_OPTS" L_KEYS=$SCRATCH_DIR/authorized_keys L_SHARED_CON=$SCRATCH_DIR/master-conn $SSH -f -N -M -S "$L_SHARED_CON" "$@" L_CLEANUP="$SSH -S $L_SHARED_CON -O exit 'ignored' >/dev/null 2>&1 ; $SCRATCH_CLEANUP" #shellcheck disable=SC2064 trap "$L_CLEANUP" EXIT TERM INT QUIT sftp -b - -o "ControlPath=$L_SHARED_CON" "ignored" <<-EOF || return 1 -get "$AUTH_KEY_FILE" "$L_KEYS" EOF # add a newline or create file if it's missing, same like above [ -z "$(tail -1c "$L_KEYS" 2>/dev/null)" ] || echo >> "$L_KEYS" # append the keys being piped in here cat >> "$L_KEYS" sftp -b - -o "ControlPath=$L_SHARED_CON" "ignored" <<-EOF || return 1 -mkdir "$AUTH_KEY_DIR" chmod 700 "$AUTH_KEY_DIR" put $L_KEYS "$AUTH_KEY_FILE" chmod 600 "$AUTH_KEY_FILE" EOF #shellcheck disable=SC2064 eval "$L_CLEANUP" && trap "$SCRATCH_CLEANUP" EXIT TERM INT QUIT } # create a scratch dir for any temporary files needed if SCRATCH_DIR=$(mktemp -d ~/.ssh/ssh-copy-id.XXXXXXXXXX) && [ "$SCRATCH_DIR" ] && [ -d "$SCRATCH_DIR" ] then chmod 0700 "$SCRATCH_DIR" SCRATCH_CLEANUP="rm -rf \"$SCRATCH_DIR\"" #shellcheck disable=SC2064 trap "$SCRATCH_CLEANUP" EXIT TERM INT QUIT else printf '%s: ERROR: failed to create required temporary directory under ~/.ssh\n' "$0" >&2 exit 1 fi REMOTE_VERSION=$($SSH -v -o PreferredAuthentications=',' -o ControlPath=none "$@" 2>&1 | sed -ne 's/.*remote software version //p') # shellcheck disable=SC2029 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 $TARGET_PATH as one might expect populate_new_ids 0 if ! [ "$DRY_RUN" ] ; then printf '%s\n' "$NEW_IDS" | \ if [ "$SFTP" ] ; then #shellcheck disable=SC2119 installkeys_via_sftp else $SSH "$@" "$(installkeys_sh)" fi || exit 1 fi 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 [ -z "$SFTP" ] || PORT_OPT=P cat <<-EOF Number of key(s) added: $ADDED Now try logging into the machine, with: "${SFTP:-ssh}${SSH_PORT:+ -${PORT_OPT:-p} $SSH_PORT} ${OPTS_USER_HOST}" and check to make sure that only the key(s) you wanted were added. EOF fi # =-=-=-=