diff options
Diffstat (limited to 'ssh-privsend')
-rwxr-xr-x | ssh-privsend | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/ssh-privsend b/ssh-privsend index 3770898..55f4bfb 100755 --- a/ssh-privsend +++ b/ssh-privsend @@ -6,12 +6,11 @@ # Parameters BASENAME="`basename $0`" KEY="$1" -SERVER="$2" -DESTKEY="~/.ssh/`basename $KEY`" +SERVERS="$*" # Checks -if [ -z "$KEY" ]; then - echo "usage: $BASENAME <private-key-file>" +if [ -z "$SERVERS" ]; then + echo "usage: $BASENAME <private-key-file> <server1> [server2 .. serverN]" exit 1 elif [ ! -e "$KEY" ]; then echo "$BASENAME: file not found: $KEY" @@ -21,11 +20,17 @@ elif [ ! -e "$KEY.pub" ]; then exit 1 fi -# Put on authorized_keys -#ssh-authorized-send $KEY.pub +# Destination key +DESTKEY="~/.ssh/`basename $KEY`" + +for SERVER in $SERVERS; do + echo "Uploading keypair $SERVER..." + # Put on authorized_keys + #ssh-authorized-send $KEY.pub $SERVER -# Public key -cat $KEY.pub | ssh $SERVER "mkdir -p ~/.ssh && chmod 700 ~/.ssh && touch $DESTKEY.pub && chmod 600 $DESTKEY.pub && cat >> $DESTKEY.pub" + # Public key + cat $KEY.pub | ssh $SERVER "mkdir -p ~/.ssh && chmod 700 ~/.ssh && touch $DESTKEY.pub && chmod 600 $DESTKEY.pub && cat >> $DESTKEY.pub" -# Private key -cat $KEY | ssh $SERVER "mkdir -p ~/.ssh && chmod 700 ~/.ssh && touch $DESTKEY && chmod 600 $DESTKEY && cat >> $DESTKEY" + # Private key + cat $KEY | ssh $SERVER "mkdir -p ~/.ssh && chmod 700 ~/.ssh && touch $DESTKEY && chmod 600 $DESTKEY && cat >> $DESTKEY" +done |