How to add ssh keys to multiple hosts
Requisite
- list.txt: list of hosts
- ~/.ssh/id_rsa.pub: keys to add
Bash script
copy.sh
#!/bin/bash
for ip in `cat list.txt`; do
sshpass -p "yourpassword" ssh-copy-id -o StrictHostKeyChecking=no -i ~/.ssh/id_rsa.pub medium@$ip
done
Explanation
- sshpass pass your password to the ssh prompt
- -o StrictHostKeyChecking=no ignores the “host identity not established” prompt, allowing sshpass to do its job
How to execute
sudo apt install -y sshpass
chmod +x copy.sh
./copy.sh