I have wanted to experiment and expand upon different ways of ssh'ing into one linux box from another using the ssh-keygen. This article demonstrates several different methods that I have tested and used throughout the years.
Actually what has happened, is that over time, scripting evolved and always seem to make tweaks along the way.
yum install -y sshpass echo -e | ssh-keygen echo "password" > password.txt sshpass -f password.txt ssh-copy-id 10.0.0.1 -f sshpass -f password.txt ssh-copy-id 10.0.0.2 -f
Another variation.
echo -e | ssh-keygen ssh-copy-id -i .ssh/id_rsa.pub root@10.0.01 ssh root@10.0.0.1
A more lengthy variation.
ssh-keygen -t rsa ssh testuser@10.0.0.1 mkdir -p .ssh cat .ssh/id_rsa.pub | ssh testuser@10.0.0.1 'cat >> .ssh/authorized_keys' ssh testuser@10.0.0.1 "chmod 700 .ssh; chmod 640 .ssh/authorized_keys" ssh testuser@10.0.0.1
My favorite.
yum install -y sshpass yes 'y' | ssh-keygen -t rsa -N "" sshpass -p mypassword ssh-copy-id 10.0.0.1 -f
A small variation to the previous one is to use a password file as seen in the first cli arguments.
CentOS Linux release 7.6.1810 (Core)
Successfully Tested February 12, 2019..
yum install -y sshpass echo 'StrictHostKeyChecking no' > ~/.ssh/config echo -e | ssh-keygen -t rsa -N "" sshpass -p mypassword ssh-copy-id 10.0.0.1 -f
CentOS Linux release 8.1.1911 (Core)
Successfully Tested April 28, 2020.
cat /dev/zero | ssh-keygen -m PEM -t rsa -q -N "" echo 'StrictHostKeyChecking no' > ~/.ssh/config sshpass -p mypassword ssh-copy-id 10.0.0.1
Source(s)
- https://stackoverflow.com/questions/3659602/automating-enter-keypresses-for-bash-script-generating-ssh-keys
- https://bencane.com/2013/07/22/ssh-disable-host-checking-for-scripts-automation/
- https://serverfault.com/questions/939909/ssh-keygen-does-not-create-rsa-private-key