diff options
Diffstat (limited to 'share')
-rwxr-xr-x | share/hydra/newkeys | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/share/hydra/newkeys b/share/hydra/newkeys index 66ce846..35dce4f 100755 --- a/share/hydra/newkeys +++ b/share/hydra/newkeys @@ -17,7 +17,7 @@ # <http://www.gnu.org/licenses/>. function hydra_newkeys { - # Generates ssh and gpg keys for new nodes + # Generates ssh and gpg keys for new or existing nodes # GPG keys should be manually imported in the nodes for host in `hydra $HYDRA nodes`; do node="`echo $host | cut -d . -f 1`" @@ -25,6 +25,13 @@ function hydra_newkeys { pubkey="$privkey.pub" if [ "$1" == "all" ]; then hydra_genpairs + elif [ "$1" == "all-ssh" ]; then + hydra_genpairs all-ssh + elif [ "$1" == "all-pgp" ]; then + hydra_genpairs all-pgp + elif [ ! -z "$1" ]; then + hydra_genpairs + exit $? elif [ ! -e "$privkey" ] || [ ! -e "$pubkey" ]; then hydra_genpairs fi @@ -34,8 +41,13 @@ function hydra_newkeys { function hydra_genpairs { BASEDIR="/tmp" - keyringer $HYDRA genpair ssh $node/ssh/id_rsa $host $privkey - keyringer $HYDRA genpair gpg $node/gpg/key $host + if [ "$1" != "all-pgp" ]; then + keyringer $HYDRA genpair ssh $node/ssh/id_rsa $host $privkey + fi + + if [ "$1" != "all-ssh" ]; then + keyringer $HYDRA genpair gpg $node/gpg/key $host + fi hydra_set_tmpfile genpair echo "Importing keys for $host" > $TMPWORK |