]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
if -s & -p specified, mention 'sftp -P' on success
authorPhilip Hands <phil@hands.com>
Wed, 24 May 2023 09:45:43 +0000 (11:45 +0200)
committerDarren Tucker <dtucker@dtucker.net>
Thu, 25 May 2023 08:24:53 +0000 (18:24 +1000)
This was inspired by this:
 https://github.com/openssh/openssh-portable/pull/321
but I thought that it was better to not do the sed patching.

BTW the reason one can get away with using $SSH_OPTS throughout, despite
the lowercase -p in there, even if sftp is in use, is that the sftp call
is using the already-established ssh master connection, so the port was
passed to the earlier ssh.

SSH-Copy-ID-Upstream: 1c124d9bfafdbe28a00b683367ebf5750ce12eb2

contrib/ssh-copy-id

index f5ec6892bb319496317a1307cf6ab9218a141100..fcf0edba7cc73b0a061a22a24e59f648d0be97f8 100644 (file)
@@ -126,7 +126,7 @@ do
       SEEN_OPT_I="yes"
       use_id_file "${OPTARG:-$DEFAULT_PUB_ID_FILE}"
       ;;
-    o|p|F)
+    o|F)
       SSH_OPTS="${SSH_OPTS:+$SSH_OPTS }-$OPT '$(quote "${OPTARG}")'"
       ;;
     f)
@@ -135,6 +135,9 @@ do
     n)
       DRY_RUN=1
       ;;
+    p)
+      SSH_PORT=${OPTARG}
+      ;;
     s)
       SFTP=sftp
       ;;
@@ -163,7 +166,7 @@ fi
 
 USER_HOST="$*"
 # tack the hostname onto SSH_OPTS
-SSH_OPTS="${SSH_OPTS:+$SSH_OPTS }'$(quote "$USER_HOST")'"
+SSH_OPTS="${SSH_OPTS:+$SSH_OPTS }${SSH_PORT:+-p $SSH_PORT }'$(quote "$USER_HOST")'"
 # and populate "$@" for later use (only way to get proper quoting of options)
 eval set -- "$SSH_OPTS"
 
@@ -370,11 +373,12 @@ if [ "$DRY_RUN" ] ; then
        =-=-=-=-=-=-=-=
        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_OPTS"
+       Now try logging into the machine, with:   "${SFTP:-ssh}${SSH_PORT:+ -${PORT_OPT:-p} '$SSH_PORT'} ${SSH_OPTS}"
        and check to make sure that only the key(s) you wanted were added.
 
        EOF