aboutsummaryrefslogtreecommitdiff
path: root/share/hydra/newkeys
diff options
context:
space:
mode:
Diffstat (limited to 'share/hydra/newkeys')
-rwxr-xr-xshare/hydra/newkeys18
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