Often times you have automated scripts that require access to multiple machines from a single source and need to do so without having to deal with ssh password prompts. And in other instances you may have a bastian host (strong point) security model which you would like to have passwordless communication from. Below are 10 steps to setting up passwordless authentication with SSH in Linux.
Step 1:
(*note server1 is the source server and server2 will be the destination server)
server1# mkdir ~/.ssh
Step 2:
server1# cd ~/.ssh
Step 3:
server1# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (“your_local_home”/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
The key fingerprint is:
18:6a:e3:78:ab:2d:0c:8e:f9:67:f7:30:32:44:77:34 phil@server1
Step 4:
server1# scp ~/.ssh/id_rsa.pub phil@server2.philchen.com:/home/phil/id_rsa.server1.pub
Step 5:
server1# ssh phil@server2.philchen.com
Password:
Step 6:
server2# mkdir .ssh
Step 7:
server2# chmod 700 .ssh
Step 8:
server2# cat id_rsa.server1.pub >> .ssh/authorized_keys
Step 9:
server2# chmod 644 .ssh/authorized_keys
Step 10:
server2# exit
server1# ssh phil@server2.philchen.com
*Note repeat steps 4-10 for all target servers you would like passwordless access from server1
* FYI Ensure your /home/user directory has the permission 755 also!
You should be all set!
Cool post, can we get more of these.