]> andersk Git - gssapi-openssh.git/blobdiff - openssh/contrib/ssh-copy-id
Import of OpenSSH 4.9p1
[gssapi-openssh.git] / openssh / contrib / ssh-copy-id
index 2346761f7af0e6ed84922fe921d596a1b5f1aae5..acd36d398721f6fec3668626f7112fc22d6b80e8 100644 (file)
@@ -11,7 +11,7 @@ if [ "-i" = "$1" ]; then
   shift
   # check if we have 2 parameters left, if so the first is the new ID file
   if [ -n "$2" ]; then
-    if expr "$1" : ".*\.pub" ; then
+    if expr "$1" : ".*\.pub" > /dev/null ; then
       ID_FILE="$1"
     else
       ID_FILE="$1.pub"
@@ -24,16 +24,21 @@ else
   fi
 fi
 
-if [ -z "`eval $GET_ID`" -a -r "${ID_FILE}" ] ; then
+if [ -z "`eval $GET_ID`" ] && [ -r "${ID_FILE}" ] ; then
   GET_ID="cat ${ID_FILE}"
 fi
 
 if [ -z "`eval $GET_ID`" ]; then
-  echo "$0: ERROR: No identities found"
+  echo "$0: ERROR: No identities found" >&2
   exit 1
 fi
 
-{ eval "$GET_ID" ; } | ssh $1 "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys"
+if [ "$#" -lt 1 ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
+  echo "Usage: $0 [-i [identity_file]] [user@]machine" >&2
+  exit 1
+fi
+
+{ eval "$GET_ID" ; } | ssh $1 "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys" || exit 1
 
 cat <<EOF
 Now try logging into the machine, with "ssh '$1'", and check in:
This page took 0.039007 seconds and 4 git commands to generate.