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 'Usage: %s [-h|-?|-f|-n|-s|-x] [-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-x: debug -- enables -x in this shell, for debugging\n' >&2
printf '\t-h|-?: print this help\n' >&2
exit 1
}
GET_ID="ssh-add -L"
fi
-while getopts "i:o:p:F:fnsh?" OPT
+while getopts "i:o:p:F:fnsxh?" OPT
do
case "$OPT" in
i)
s)
SFTP=sftp
;;
+ x)
+ set -x
+ ;;
h|\?)
usage
;;
.Op Fl f
.Op Fl n
.Op Fl s
+.Op Fl x
.Op Fl i Op Ar identity_file
.Op Fl p Ar port
.Op Fl o Ar ssh_option
.Pa ~/.ssh/authorized_keys
file will be downloaded, modified locally and uploaded with sftp.
This option is useful if the server has restrictions on commands which can be used on the remote side.
+.It Fl x
+This option is for debugging the
+.Nm
+script itself.
+It sets the shell's -x flag, so that you can see the commands being run.
.It Fl h , Fl ?
Print Usage summary
.It Fl p Ar port , Fl o Ar ssh_option