]> gitweb.fluxo.info Git - utils-ssh.git/commitdiff
Support for multiple servers on ssh-privsend and ssh-authorized-send
authorSilvio Rhatto <rhatto@riseup.net>
Tue, 14 Mar 2017 13:43:44 +0000 (10:43 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Tue, 14 Mar 2017 13:43:44 +0000 (10:43 -0300)
ssh-authorized-send
ssh-privsend

index ac687ff4efc17c747aa69282932cfd4a9750d8e2..22f55963b882e76bad7c88b81287e31a3e7f4064 100755 (executable)
@@ -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 <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"
@@ -21,5 +20,11 @@ elif grep -q -i private $KEY; then
   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
index 3770898b6fe00ce9531404f586e59801b9599cf4..55f4bfbe183daaaa1ae622b32608fc20526e4968 100755 (executable)
@@ -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