#!/bin/sh # Copyright (c) 1999-2020 Philip Hands <phil@hands.com> # 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" umask 0177 usage () { printf 'Usage: %s [-h|-?|-f|-n|-s] [-i [identity_file]] [-p port] [-F alternative ssh_config file] [[-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-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:fnsh?" 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|p|F) SSH_OPTS="${SSH_OPTS:+$SSH_OPTS }-$OPT '$(quote "${OPTARG}")'" ;; f) FORCED=1 ;; n) DRY_RUN=1 ;; s) SFTP=sftp ;; 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 # drop trailing colon USER_HOST="$*" # 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" # 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 authorized_keys file # optionally takes an alternative path for authorized_keys installkeys_sh() { AUTH_KEY_FILE=${1:-.ssh/authorized_keys} AUTH_KEY_DIR=$(dirname "${AUTH_KEY_FILE}") # 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 INSTALLKEYS_SH=$(tr '\t\n' ' ' <<-EOF cd; umask 077; 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() { # 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 .ssh/authorized_keys $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 .ssh chmod 700 .ssh put $L_KEYS .ssh/authorized_keys chmod 600 .ssh/authorized_keys 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 ;; dropbear*) populate_new_ids 0 [ "$DRY_RUN" ] || printf '%s\n' "$NEW_IDS" | \ $SSH "$@" "$(installkeys_sh /etc/dropbear/authorized_keys)" \ || exit 1 ADDED=$(printf '%s\n' "$NEW_IDS" | wc -l) ;; *) # Assuming that the remote host treats ~/.ssh/authorized_keys 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 cat <<-EOF Number of key(s) added: $ADDED Now try logging into the machine, with: "${SFTP:-ssh} $SSH_OPTS" and check to make sure that only the key(s) you wanted were added. EOF fi # =-=-=-=
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
[ | File | 50.44 KB | 0755 |
|
aa-enabled | File | 34.52 KB | 0755 |
|
aa-exec | File | 34.52 KB | 0755 |
|
aa-features-abi | File | 30.52 KB | 0755 |
|
addpart | File | 14.38 KB | 0755 |
|
arch | File | 30.51 KB | 0755 |
|
awk | File | 154.79 KB | 0755 |
|
b2sum | File | 50.52 KB | 0755 |
|
base32 | File | 34.51 KB | 0755 |
|
base64 | File | 34.51 KB | 0755 |
|
basename | File | 34.51 KB | 0755 |
|
basenc | File | 46.51 KB | 0755 |
|
bash | File | 1.33 MB | 0755 |
|
bashbug | File | 6.66 KB | 0755 |
|
bootctl | File | 70.49 KB | 0755 |
|
bunzip2 | File | 38.38 KB | 0755 |
|
busctl | File | 90.49 KB | 0755 |
|
bzcat | File | 38.38 KB | 0755 |
|
bzcmp | File | 2.17 KB | 0755 |
|
bzdiff | File | 2.17 KB | 0755 |
|
bzegrep | File | 3.69 KB | 0755 |
|
bzexe | File | 4.78 KB | 0755 |
|
bzfgrep | File | 3.69 KB | 0755 |
|
bzgrep | File | 3.69 KB | 0755 |
|
bzip2 | File | 38.38 KB | 0755 |
|
bzip2recover | File | 14.3 KB | 0755 |
|
bzless | File | 1.27 KB | 0755 |
|
bzmore | File | 1.27 KB | 0755 |
|
c_rehash | File | 6.8 KB | 0755 |
|
captoinfo | File | 86.41 KB | 0755 |
|
cat | File | 34.46 KB | 0755 |
|
chage | File | 70.49 KB | 2755 |
|
chardet | File | 965 B | 0755 |
|
chardetect | File | 965 B | 0755 |
|
chattr | File | 14.31 KB | 0755 |
|
chcon | File | 58.51 KB | 0755 |
|
chfn | File | 71.01 KB | 4755 |
|
chgrp | File | 54.51 KB | 0755 |
|
chmod | File | 54.51 KB | 0755 |
|
choom | File | 22.38 KB | 0755 |
|
chown | File | 58.51 KB | 0755 |
|
chrt | File | 26.38 KB | 0755 |
|
chsh | File | 43.76 KB | 4755 |
|
cksum | File | 34.41 KB | 0755 |
|
clear | File | 14.31 KB | 0755 |
|
clear_console | File | 14.23 KB | 0755 |
|
cloud-id | File | 966 B | 0755 |
|
cloud-init | File | 970 B | 0755 |
|
cloud-init-per | File | 2.06 KB | 0755 |
|
cmp | File | 42.39 KB | 0755 |
|
comm | File | 34.52 KB | 0755 |
|
console-conf | File | 982 B | 0755 |
|
core-sshd-host-keygen | File | 1.49 KB | 0755 |
|
cp | File | 138.51 KB | 0755 |
|
csplit | File | 106.51 KB | 0755 |
|
ctstat | File | 22.66 KB | 0755 |
|
cut | File | 38.51 KB | 0755 |
|
cvtsudoers | File | 296.4 KB | 0755 |
|
dash | File | 122.74 KB | 0755 |
|
date | File | 102.51 KB | 0755 |
|
dbus-cleanup-sockets | File | 14.29 KB | 0755 |
|
dbus-daemon | File | 227.32 KB | 0755 |
|
dbus-monitor | File | 26.29 KB | 0755 |
|
dbus-run-session | File | 14.29 KB | 0755 |
|
dbus-send | File | 26.29 KB | 0755 |
|
dbus-update-activation-environment | File | 14.29 KB | 0755 |
|
dbus-uuidgen | File | 14.29 KB | 0755 |
|
dd | File | 66.52 KB | 0755 |
|
delpart | File | 14.38 KB | 0755 |
|
df | File | 83.08 KB | 0755 |
|
dh_bash-completion | File | 4.31 KB | 0755 |
|
diff | File | 130.55 KB | 0755 |
|
diff3 | File | 54.52 KB | 0755 |
|
dir | File | 134.98 KB | 0755 |
|
dircolors | File | 38.52 KB | 0755 |
|
dirname | File | 30.38 KB | 0755 |
|
dmesg | File | 70.61 KB | 0755 |
|
dnsdomainname | File | 22.23 KB | 0755 |
|
domainname | File | 22.23 KB | 0755 |
|
dpkg-deb | File | 134.49 KB | 0755 |
|
dpkg-realpath | File | 4.09 KB | 0755 |
|
du | File | 146.51 KB | 0755 |
|
ec2metadata | File | 8.38 KB | 0755 |
|
echo | File | 34.3 KB | 0755 |
|
editor | File | 1.45 MB | 0755 |
|
egrep | File | 28 B | 0755 |
|
env | File | 42.95 KB | 0755 |
|
ex | File | 1.45 MB | 0755 |
|
expand | File | 34.53 KB | 0755 |
|
expiry | File | 22.59 KB | 2755 |
|
expr | File | 102.41 KB | 0755 |
|
factor | File | 70.51 KB | 0755 |
|
faillog | File | 22.59 KB | 0755 |
|
fallocate | File | 22.38 KB | 0755 |
|
false | File | 26.3 KB | 0755 |
|
fgrep | File | 28 B | 0755 |
|
finalrd | File | 2.06 KB | 0755 |
|
fincore | File | 22.42 KB | 0755 |
|
find | File | 275.48 KB | 0755 |
|
findmnt | File | 63.61 KB | 0755 |
|
flock | File | 22.48 KB | 0755 |
|
fmt | File | 38.51 KB | 0755 |
|
fold | File | 34.51 KB | 0755 |
|
free | File | 26.23 KB | 0755 |
|
gdbserver | File | 564.73 KB | 0755 |
|
getconf | File | 34.29 KB | 0755 |
|
getent | File | 38.65 KB | 0755 |
|
getopt | File | 22.38 KB | 0755 |
|
gpasswd | File | 70.38 KB | 4755 |
|
gpgv | File | 271.04 KB | 0755 |
|
grep | File | 178.45 KB | 0755 |
|
groups | File | 34.51 KB | 0755 |
|
growpart | File | 26.22 KB | 0755 |
|
gunzip | File | 2.29 KB | 0755 |
|
gzexe | File | 6.3 KB | 0755 |
|
gzip | File | 91.23 KB | 0755 |
|
hardlink | File | 34.43 KB | 0755 |
|
head | File | 42.51 KB | 0755 |
|
helpztags | File | 2.46 KB | 0755 |
|
hostid | File | 30.51 KB | 0755 |
|
hostname | File | 22.23 KB | 0755 |
|
hostnamectl | File | 30.38 KB | 0755 |
|
i386 | File | 26.65 KB | 0755 |
|
iconv | File | 66.41 KB | 0755 |
|
id | File | 38.51 KB | 0755 |
|
infocmp | File | 62.38 KB | 0755 |
|
infotocap | File | 86.41 KB | 0755 |
|
install | File | 142.52 KB | 0755 |
|
ionice | File | 18.38 KB | 0755 |
|
ip | File | 702.05 KB | 0755 |
|
ipcmk | File | 22.45 KB | 0755 |
|
ipcrm | File | 18.38 KB | 0755 |
|
ipcs | File | 38.38 KB | 0755 |
|
iptables-xml | File | 96.95 KB | 0755 |
|
ischroot | File | 14.2 KB | 0755 |
|
join | File | 46.55 KB | 0755 |
|
journalctl | File | 78.39 KB | 0755 |
|
json-patch-jsondiff | File | 1004 B | 0755 |
|
jsondiff | File | 1004 B | 0755 |
|
jsonpatch | File | 3.77 KB | 0755 |
|
jsonpointer | File | 1.79 KB | 0755 |
|
jsonschema | File | 397 B | 0755 |
|
kernel-install | File | 4.79 KB | 0755 |
|
kill | File | 30.23 KB | 0755 |
|
kmod | File | 166.36 KB | 0755 |
|
kmodsign | File | 18.45 KB | 0755 |
|
last | File | 34.38 KB | 0755 |
|
lastb | File | 34.38 KB | 0755 |
|
lastlog | File | 27.63 KB | 0755 |
|
lcf | File | 7.6 KB | 0755 |
|
ldd | File | 5.32 KB | 0755 |
|
less | File | 194.38 KB | 0755 |
|
lessecho | File | 14.31 KB | 0755 |
|
lessfile | File | 8.83 KB | 0755 |
|
lesskey | File | 23.7 KB | 0755 |
|
lesspipe | File | 8.83 KB | 0755 |
|
link | File | 30.51 KB | 0755 |
|
linux32 | File | 26.65 KB | 0755 |
|
linux64 | File | 26.65 KB | 0755 |
|
ln | File | 58.51 KB | 0755 |
|
lnstat | File | 22.66 KB | 0755 |
|
locale | File | 57.56 KB | 0755 |
|
locale-check | File | 14.15 KB | 0755 |
|
localectl | File | 26.37 KB | 0755 |
|
localedef | File | 326.96 KB | 0755 |
|
logger | File | 34.97 KB | 0755 |
|
login | File | 51.73 KB | 0755 |
|
loginctl | File | 58.48 KB | 0755 |
|
logname | File | 30.51 KB | 0755 |
|
ls | File | 134.98 KB | 0755 |
|
lsattr | File | 14.31 KB | 0755 |
|
lsblk | File | 122.38 KB | 0755 |
|
lscpu | File | 98.38 KB | 0755 |
|
lsipc | File | 50.38 KB | 0755 |
|
lslocks | File | 30.7 KB | 0755 |
|
lslogins | File | 50.38 KB | 0755 |
|
lsmem | File | 34.38 KB | 0755 |
|
lsmod | File | 166.36 KB | 0755 |
|
lsns | File | 38.38 KB | 0755 |
|
man | File | 128 B | 0755 |
|
mawk | File | 154.79 KB | 0755 |
|
mcookie | File | 26.45 KB | 0755 |
|
md5sum | File | 42.41 KB | 0755 |
|
md5sum.textutils | File | 42.41 KB | 0755 |
|
mesg | File | 14.38 KB | 0755 |
|
mkdir | File | 66.51 KB | 0755 |
|
mkfifo | File | 38.51 KB | 0755 |
|
mknod | File | 42.51 KB | 0755 |
|
mksquashfs | File | 254.68 KB | 0755 |
|
mkswapfile | File | 865 B | 0755 |
|
mktemp | File | 38.51 KB | 0755 |
|
more | File | 42.38 KB | 0755 |
|
mount | File | 46.38 KB | 4755 |
|
mountpoint | File | 18.38 KB | 0755 |
|
mv | File | 134.52 KB | 0755 |
|
namei | File | 22.38 KB | 0755 |
|
nawk | File | 154.79 KB | 0755 |
|
nc | File | 38.63 KB | 0755 |
|
nc.openbsd | File | 38.63 KB | 0755 |
|
netcat | File | 38.63 KB | 0755 |
|
networkctl | File | 102.38 KB | 0755 |
|
newgrp | File | 39.55 KB | 4755 |
|
nice | File | 34.51 KB | 0755 |
|
nisdomainname | File | 22.23 KB | 0755 |
|
nl | File | 98.57 KB | 0755 |
|
nohup | File | 34.41 KB | 0755 |
|
nproc | File | 34.51 KB | 0755 |
|
nsenter | File | 26.6 KB | 0755 |
|
nstat | File | 30.38 KB | 0755 |
|
numfmt | File | 54.54 KB | 0755 |
|
od | File | 66.51 KB | 0755 |
|
openssl | File | 977.8 KB | 0755 |
|
p11-kit | File | 30.38 KB | 0755 |
|
p11tool | File | 218.38 KB | 0755 |
|
pager | File | 194.38 KB | 0755 |
|
partx | File | 58.38 KB | 0755 |
|
passwd | File | 58.57 KB | 4755 |
|
paste | File | 34.41 KB | 0755 |
|
pathchk | File | 34.51 KB | 0755 |
|
pdb3 | File | 61.74 KB | 0755 |
|
pdb3.10 | File | 61.74 KB | 0755 |
|
perl | File | 3.63 MB | 0755 |
|
perl5.34.0 | File | 3.63 MB | 0755 |
|
pgrep | File | 30.24 KB | 0755 |
|
pidof | File | 26.38 KB | 0755 |
|
pidwait | File | 30.24 KB | 0755 |
|
ping | File | 74.88 KB | 0755 |
|
ping4 | File | 74.88 KB | 0755 |
|
ping6 | File | 74.88 KB | 0755 |
|
pinky | File | 34.41 KB | 0755 |
|
pkaction | File | 18.3 KB | 0755 |
|
pkcheck | File | 22.3 KB | 0755 |
|
pkcs11-tool | File | 157.02 KB | 0755 |
|
pkill | File | 30.24 KB | 0755 |
|
pkttyagent | File | 18.3 KB | 0755 |
|
pldd | File | 22.37 KB | 0755 |
|
plymouth | File | 46.3 KB | 0755 |
|
pmap | File | 34.24 KB | 0755 |
|
pr | File | 66.58 KB | 0755 |
|
printenv | File | 30.38 KB | 0755 |
|
printf | File | 50.44 KB | 0755 |
|
prlimit | File | 26.89 KB | 0755 |
|
ps | File | 138.45 KB | 0755 |
|
ptx | File | 126.55 KB | 0755 |
|
pwd | File | 34.51 KB | 0755 |
|
pwdx | File | 14.23 KB | 0755 |
|
py3clean | File | 7.63 KB | 0755 |
|
py3compile | File | 12.88 KB | 0755 |
|
py3versions | File | 11.63 KB | 0755 |
|
pybabel | File | 953 B | 0755 |
|
pybabel-python3 | File | 953 B | 0755 |
|
pydoc3 | File | 79 B | 0755 |
|
pydoc3.10 | File | 79 B | 0755 |
|
pygettext3 | File | 23.67 KB | 0755 |
|
pygettext3.10 | File | 23.67 KB | 0755 |
|
pyserial-miniterm | File | 975 B | 0755 |
|
pyserial-ports | File | 969 B | 0755 |
|
python3 | File | 5.66 MB | 0755 |
|
python3.10 | File | 5.66 MB | 0755 |
|
rbash | File | 1.33 MB | 0755 |
|
rcp | File | 130.59 KB | 0755 |
|
rdma | File | 98.52 KB | 0755 |
|
readlink | File | 38.41 KB | 0755 |
|
realpath | File | 38.41 KB | 0755 |
|
renice | File | 14.38 KB | 0755 |
|
reset | File | 26.31 KB | 0755 |
|
resizepart | File | 22.38 KB | 0755 |
|
resolvectl | File | 130.52 KB | 0755 |
|
rev | File | 14.38 KB | 0755 |
|
rgrep | File | 30 B | 0755 |
|
rlogin | File | 827.04 KB | 0755 |
|
rm | File | 58.51 KB | 0755 |
|
rmdir | File | 42.41 KB | 0755 |
|
routef | File | 208 B | 0755 |
|
routel | File | 1.62 KB | 0755 |
|
rsh | File | 827.04 KB | 0755 |
|
rtstat | File | 22.66 KB | 0755 |
|
run-parts | File | 26.54 KB | 0755 |
|
runcon | File | 34.51 KB | 0755 |
|
rview | File | 1.45 MB | 0755 |
|
savelog | File | 10.24 KB | 0755 |
|
sbattach | File | 26.54 KB | 0755 |
|
sbkeysync | File | 34.74 KB | 0755 |
|
sbsiglist | File | 14.6 KB | 0755 |
|
sbsign | File | 34.7 KB | 0755 |
|
sbvarsign | File | 22.73 KB | 0755 |
|
sbverify | File | 34.61 KB | 0755 |
|
scp | File | 130.59 KB | 0755 |
|
script | File | 50.38 KB | 0755 |
|
scriptlive | File | 42.38 KB | 0755 |
|
scriptreplay | File | 34.38 KB | 0755 |
|
sdiff | File | 46.39 KB | 0755 |
|
sed | File | 110.57 KB | 0755 |
|
select-editor | File | 2.39 KB | 0755 |
|
sensible-browser | File | 1.26 KB | 0755 |
|
sensible-editor | File | 1.24 KB | 0755 |
|
sensible-pager | File | 565 B | 0755 |
|
seq | File | 46.51 KB | 0755 |
|
setarch | File | 26.65 KB | 0755 |
|
setpriv | File | 38.38 KB | 0755 |
|
setsid | File | 14.38 KB | 0755 |
|
setterm | File | 34.38 KB | 0755 |
|
sftp | File | 142.66 KB | 0755 |
|
sg | File | 39.55 KB | 4755 |
|
sh | File | 122.74 KB | 0755 |
|
sha1sum | File | 42.41 KB | 0755 |
|
sha224sum | File | 50.41 KB | 0755 |
|
sha256sum | File | 50.41 KB | 0755 |
|
sha384sum | File | 58.41 KB | 0755 |
|
sha512sum | File | 58.41 KB | 0755 |
|
shred | File | 50.51 KB | 0755 |
|
shuf | File | 46.51 KB | 0755 |
|
skill | File | 30.23 KB | 0755 |
|
slabtop | File | 22.23 KB | 0755 |
|
sleep | File | 34.51 KB | 0755 |
|
slogin | File | 827.04 KB | 0755 |
|
snap | File | 16.86 MB | 0755 |
|
File | 0 B | 0 |
|
|
snice | File | 30.23 KB | 0755 |
|
sort | File | 98.8 KB | 0755 |
|
splash-client | File | 404 B | 0755 |
|
split | File | 50.97 KB | 0755 |
|
sqfscat | File | 131.9 KB | 0755 |
|
sqfstar | File | 254.68 KB | 0755 |
|
ss | File | 125.07 KB | 0755 |
|
ssh | File | 827.04 KB | 0755 |
|
ssh-add | File | 166.42 KB | 0755 |
|
ssh-agent | File | 286.43 KB | 2755 |
|
ssh-argv0 | File | 1.42 KB | 0755 |
|
ssh-copy-id | File | 12.38 KB | 0755 |
|
ssh-keygen | File | 446.44 KB | 0755 |
|
ssh-keyscan | File | 190.44 KB | 0755 |
|
stat | File | 78.52 KB | 0755 |
|
stdbuf | File | 42.51 KB | 0755 |
|
stty | File | 74.51 KB | 0755 |
|
su | File | 54.38 KB | 4755 |
|
sudo | File | 226.97 KB | 4755 |
|
sudoedit | File | 226.97 KB | 4755 |
|
sudoreplay | File | 87.64 KB | 0755 |
|
sum | File | 34.41 KB | 0755 |
|
sync | File | 34.41 KB | 0755 |
|
systemctl | File | 1.06 MB | 0755 |
|
systemd | File | 1.55 MB | 0755 |
|
systemd-analyze | File | 1.73 MB | 0755 |
|
systemd-ask-password | File | 18.48 KB | 0755 |
|
systemd-cat | File | 18.38 KB | 0755 |
|
systemd-cgls | File | 22.48 KB | 0755 |
|
systemd-cgtop | File | 38.39 KB | 0755 |
|
systemd-cryptenroll | File | 50.53 KB | 0755 |
|
systemd-delta | File | 26.37 KB | 0755 |
|
systemd-detect-virt | File | 18.37 KB | 0755 |
|
systemd-escape | File | 22.37 KB | 0755 |
|
systemd-hwdb | File | 118.66 KB | 0755 |
|
systemd-id128 | File | 26.37 KB | 0755 |
|
systemd-inhibit | File | 22.39 KB | 0755 |
|
systemd-machine-id-setup | File | 18.48 KB | 0755 |
|
systemd-mount | File | 50.59 KB | 0755 |
|
systemd-notify | File | 22.38 KB | 0755 |
|
systemd-path | File | 18.37 KB | 0755 |
|
systemd-run | File | 62.57 KB | 0755 |
|
systemd-socket-activate | File | 26.37 KB | 0755 |
|
systemd-stdio-bridge | File | 22.38 KB | 0755 |
|
systemd-sysext | File | 46.49 KB | 0755 |
|
systemd-sysusers | File | 62.68 KB | 0755 |
|
systemd-tmpfiles | File | 98.57 KB | 0755 |
|
systemd-tty-ask-password-agent | File | 34.37 KB | 0755 |
|
systemd-umount | File | 50.59 KB | 0755 |
|
tabs | File | 18.3 KB | 0755 |
|
tac | File | 98.41 KB | 0755 |
|
tail | File | 66.52 KB | 0755 |
|
tar | File | 505.81 KB | 0755 |
|
taskset | File | 22.38 KB | 0755 |
|
tee | File | 34.51 KB | 0755 |
|
tempfile | File | 14.02 KB | 0755 |
|
test | File | 42.44 KB | 0755 |
|
tic | File | 86.41 KB | 0755 |
|
timedatectl | File | 815 B | 0755 |
|
timedatectl.real | File | 46.37 KB | 0755 |
|
timeout | File | 38.95 KB | 0755 |
|
tload | File | 18.24 KB | 0755 |
|
toe | File | 22.3 KB | 0755 |
|
top | File | 130.06 KB | 0755 |
|
touch | File | 90.51 KB | 0755 |
|
tput | File | 26.34 KB | 0755 |
|
tr | File | 46.51 KB | 0755 |
|
true | File | 26.3 KB | 0755 |
|
truncate | File | 34.51 KB | 0755 |
|
tset | File | 26.31 KB | 0755 |
|
tsort | File | 46.51 KB | 0755 |
|
tty | File | 30.51 KB | 0755 |
|
tzselect | File | 15.02 KB | 0755 |
|
ucf | File | 40.9 KB | 0755 |
|
ucfq | File | 18.91 KB | 0755 |
|
ucfr | File | 10.47 KB | 0755 |
|
uclampset | File | 26.38 KB | 0755 |
|
udevadm | File | 1.08 MB | 0755 |
|
umount | File | 34.38 KB | 4755 |
|
uname | File | 34.51 KB | 0755 |
|
uncompress | File | 2.29 KB | 0755 |
|
unexpand | File | 34.53 KB | 0755 |
|
uniq | File | 42.51 KB | 0755 |
|
unlink | File | 30.51 KB | 0755 |
|
unshare | File | 30.6 KB | 0755 |
|
unsquashfs | File | 131.9 KB | 0755 |
|
update-alternatives | File | 58.24 KB | 0755 |
|
uptime | File | 14.23 KB | 0755 |
|
users | File | 34.51 KB | 0755 |
|
utmpdump | File | 22.38 KB | 0755 |
|
vcs-run | File | 6.75 KB | 0755 |
|
vdir | File | 134.98 KB | 0755 |
|
vi | File | 1.45 MB | 0755 |
|
view | File | 1.45 MB | 0755 |
|
vim.tiny | File | 1.45 MB | 0755 |
|
vmstat | File | 38.24 KB | 0755 |
|
w | File | 22.23 KB | 0755 |
|
wall | File | 22.38 KB | 0755 |
|
watch | File | 26.6 KB | 0755 |
|
wc | File | 42.42 KB | 0755 |
|
wdctl | File | 30.4 KB | 0755 |
|
whereis | File | 30.84 KB | 0755 |
|
which | File | 946 B | 0755 |
|
which.debianutils | File | 946 B | 0755 |
|
who | File | 50.52 KB | 0755 |
|
whoami | File | 30.51 KB | 0755 |
|
wpa_passphrase | File | 14.31 KB | 0755 |
|
x86_64 | File | 26.65 KB | 0755 |
|
xargs | File | 62.41 KB | 0755 |
|
xdg-open | File | 38 B | 0755 |
|
xdg-settings | File | 1.68 KB | 0755 |
|
xxd | File | 18.28 KB | 0755 |
|
yes | File | 30.38 KB | 0755 |
|
ypdomainname | File | 22.23 KB | 0755 |
|
zcat | File | 1.94 KB | 0755 |
|
zcmp | File | 1.64 KB | 0755 |
|
zdiff | File | 5.76 KB | 0755 |
|
zdump | File | 26.21 KB | 0755 |
|
zegrep | File | 29 B | 0755 |
|
zfgrep | File | 29 B | 0755 |
|
zforce | File | 2.03 KB | 0755 |
|
zgrep | File | 7.91 KB | 0755 |
|
zless | File | 2.15 KB | 0755 |
|
zmore | File | 1.8 KB | 0755 |
|
znew | File | 4.47 KB | 0755 |
|