diff --git a/gen-and-distrib-new-key.sh b/gen-and-distrib-new-key.sh new file mode 100755 index 0000000..7bc5ee6 --- /dev/null +++ b/gen-and-distrib-new-key.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +if [ -z $1 ] ; then + echo "Need a hostname" + exit +fi +target=$1 +echo target: ${target} +targetname=$( (echo $target | sed -e 's/\..*//') ) +echo targetname=${targetname} +hostname=$( (hostname -s) ) +echo hostname: ${hostname} +keyname=id_${hostname}-${targetname} +echo keyname: ${keyname} + +echo rm -f ${keyname} +rm -f ${keyname} + +#exit + +mkdir -p ~/.ssh/newkeys +ssh-keygen -t ecdsa -b 521 -V +6w -f ~/.ssh/newkeys/${keyname} -P "" + +ssh ${target} "mkdir -p .ssh/incoming; rm -f .ssh/incoming/${keyname}" || exit +scp ~/.ssh/newkeys/${keyname}.pub ${target}:.ssh/incoming/id_${hostname}.pub || exit +rm ~/.ssh/newkeys/${keyname}.pub +ssh ${target} "mkdir -p .ssh/valid; mv .ssh/incoming/id_${hostname}.pub .ssh/valid; cat .ssh/valid/* > .ssh/authorized_keys" || exit +mv ~/.ssh/newkeys/${keyname} ~/.ssh/${keyname} diff --git a/invalidate_key.sh b/invalidate_key.sh new file mode 100755 index 0000000..306c9e3 --- /dev/null +++ b/invalidate_key.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +while [ ! -z $1 ]; do + echo "We will delete the key for the system known as \"${1}\":" + ls -l ~/.ssh/valid/id_${1}.pub + echo "Press enter to continue..." + read foobar + + rm -f ~/.ssh/valid/id_${1}.pub + cat ~/.ssh/valid/id_*.pub > ~/.ssh/authorized_keys + + shift 1 +done