You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
2.2 KiB
57 lines
2.2 KiB
diff -up openssh-6.4p1/contrib/ssh-copy-id.1.legacy-ssh-copy-id openssh-6.4p1/contrib/ssh-copy-id.1 |
|
--- openssh-6.4p1/contrib/ssh-copy-id.1.legacy-ssh-copy-id 2013-03-22 00:17:37.000000000 +0100 |
|
+++ openssh-6.4p1/contrib/ssh-copy-id.1 2014-01-28 17:12:49.197542425 +0100 |
|
@@ -180,6 +180,19 @@ should prove enlightening (N.B. the mode |
|
.Fl W |
|
option, rather than |
|
.Xr nc 1 ) . |
|
+.Sh ENVIRONMENT |
|
+.Bl -tag -width Ds |
|
+.Pp |
|
+.It Pa SSH_COPY_ID_LEGACY |
|
+If the |
|
+.Cm SSH_COPY_ID_LEGACY |
|
+environment variable is set, the |
|
+.Nm |
|
+is run in a legacy mode. In this mode, the |
|
+.Nm |
|
+doesn't check an existence of a private key and doesn't do remote checks |
|
+of the remote server versions or if public keys are already installed. |
|
+.El |
|
.Sh "SEE ALSO" |
|
.Xr ssh 1 , |
|
.Xr ssh-agent 1 , |
|
diff -up openssh-6.4p1/contrib/ssh-copy-id.legacy-ssh-copy-id openssh-6.4p1/contrib/ssh-copy-id |
|
--- openssh-6.4p1/contrib/ssh-copy-id.legacy-ssh-copy-id 2013-06-05 14:48:45.000000000 +0200 |
|
+++ openssh-6.4p1/contrib/ssh-copy-id 2014-01-28 17:11:51.538833032 +0100 |
|
@@ -77,7 +77,7 @@ use_id_file() { |
|
PUB_ID_FILE="$L_ID_FILE.pub" |
|
fi |
|
|
|
- PRIV_ID_FILE=$(dirname "$PUB_ID_FILE")/$(basename "$PUB_ID_FILE" .pub) |
|
+ [ "x$SSH_COPY_ID_LEGACY" != "x" ] || 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 ; do |
|
@@ -243,7 +243,7 @@ populate_new_ids() { |
|
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=',' "$@" 2>&1 | |
|
+[ "x$SSH_COPY_ID_LEGACY" != "x" ] || REMOTE_VERSION=$(ssh -v -o PreferredAuthentications=',' "$@" 2>&1 | |
|
sed -ne 's/.*remote software version //p') |
|
|
|
case "$REMOTE_VERSION" in |
|
@@ -268,7 +268,11 @@ case "$REMOTE_VERSION" in |
|
;; |
|
*) |
|
# Assuming that the remote host treats ~/.ssh/authorized_keys as one might expect |
|
- populate_new_ids 0 |
|
+ if [ "x$SSH_COPY_ID_LEGACY" != "x" ]; then |
|
+ NEW_IDS=`eval "$GET_ID"` |
|
+ else |
|
+ populate_new_ids 0 |
|
+ fi |
|
[ "$DRY_RUN" ] || printf '%s\n' "$NEW_IDS" | ssh "$@" " |
|
umask 077 ; |
|
mkdir -p .ssh && cat >> .ssh/authorized_keys || exit 1 ;
|
|
|