# Parameters
BASENAME="`basename $0`"
KEY="$1"
-SERVER="$2"
-DESTKEY="~/.ssh/`basename $KEY`"
+SERVERS="$*"
# Checks
-if [ -z "$KEY" ]; then
- echo "usage: $BASENAME <public-key-file>"
+if [ -z "$SERVERS" ]; then
+ echo "usage: $BASENAME <public-key-file> <server1> [server2 .. serverN]"
exit 1
elif [ ! -e "$KEY" ]; then
echo "$BASENAME: file not found: $KEY"
exit 1
fi
+# Destination key
+DESTKEY="~/.ssh/`basename $KEY`"
+
# Put on authorized_keys
-cat $KEY | ssh $SERVER "mkdir -p ~/.ssh && chmod 700 ~/.ssh && touch ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && cat >> ~/.ssh/authorized_keys"
+for SERVER in $SERVERS; do
+ echo "Uploading key into $SERVER..."
+ cat $KEY | ssh $SERVER "mkdir -p ~/.ssh && chmod 700 ~/.ssh && touch ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && cat >> ~/.ssh/authorized_keys"
+done
# 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"
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