Fix Fuel key distribution script
Couple of things: * ssh-copy-id refuses to copy keys over the hop when the destination is already reachable via its own (different) key * accept Fuel host and user as parameters Change-Id: I9557021c20dbfeeb97059179ccd1bd1879663076
This commit is contained in:
parent
261eb57216
commit
657abafbdd
@ -1,14 +1,15 @@
|
||||
#!/bin/bash -x
|
||||
|
||||
KEY_FILE_NAME="${HOME}/.ssh/os_faults"
|
||||
USERNAME="root"
|
||||
HOST="172.18.171.149"
|
||||
HOST=${1:-fuel.local}
|
||||
USERNAME=${2:-root}
|
||||
|
||||
echo "removing old key if exist"
|
||||
rm ${KEY_FILE_NAME} | true
|
||||
echo "distributing keys to Fuel: ${USERNAME}@${HOST}"
|
||||
|
||||
echo "generating new key in ${KEY_FILE_NAME}"
|
||||
ssh-keygen -b 4096 -f ${KEY_FILE_NAME} -q -t rsa -P ""
|
||||
if [ ! -f ${KEY_FILE_NAME} ]; then
|
||||
echo "generating new key in ${KEY_FILE_NAME}"
|
||||
ssh-keygen -b 4096 -f ${KEY_FILE_NAME} -q -t rsa -P ""
|
||||
fi
|
||||
|
||||
echo "copying the key to master node ${USERNAME}@${HOST}"
|
||||
ssh-copy-id -i ${KEY_FILE_NAME} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no ${USERNAME}@${HOST}
|
||||
@ -17,7 +18,7 @@ echo "get list of nodes in the cluster"
|
||||
|
||||
for NODE in `ssh -i ${KEY_FILE_NAME} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no ${USERNAME}@${HOST} fuel2 node list -c ip -f value`; do
|
||||
echo "copying the key to node ${NODE}"
|
||||
ssh-copy-id -i ${KEY_FILE_NAME} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o ProxyCommand="ssh -W %h:%p ${USERNAME}@${HOST}" root@${NODE}
|
||||
ssh -i ${KEY_FILE_NAME} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o ProxyCommand="ssh -W %h:%p ${USERNAME}@${HOST}" root@${NODE} hostname
|
||||
# ssh-copy-id does not copy the key over the hop when the destination is already reachable via its own key
|
||||
cat ${KEY_FILE_NAME}.pub | ssh -i ${KEY_FILE_NAME} ${USERNAME}@${HOST} ssh ${NODE} 'tee -a .ssh/authorized_keys'
|
||||
ssh -i ${KEY_FILE_NAME} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o ProxyCommand="ssh -i ${KEY_FILE_NAME} -W %h:%p ${USERNAME}@${HOST}" root@${NODE} hostname
|
||||
done
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user