Total Pageviews

Thursday, 14 August 2014

Remote server SSH login without password

SSH login without password
You want to use Linux and OpenSSH to automate your tasks.
Therefore you need an automatic login from host 172.19.7.xyz / user root (user of first server) to Host 172.19.7.acb / user root(user of second server). We don't want to enter any passwords, because we want to call ssh from a within a shell script.
How to do it
First log in on172.19.7.xyz as user root and generate a pair of authentication keys. Do not enter a passphrase:
Server01:~> ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/a/.ssh/id_rsa):
Created directory '/home/a/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/a/.ssh/id_rsa.
Your public key has been saved in /home/a/.ssh/id_rsa.pub.
The key fingerprint is:
3e:4f:05:79:3a:9f:96:7c:3b:ad:e9:58:37:bc:37:e4 a@A
Now use ssh to create a directory ~/.ssh as user root on 172.19.7.abc. (The directory may already exist, which is fine):
Server01:~> ssh root@172.19.7.abc mkdir -p .ssh
Server02's password:
Finally append a's new public key to root@172.19.7.abc:.ssh/authorized_keys and enter Sever02's password one last time:
Server01:~> cat .ssh/id_rsa.pub | ssh root@172.19.7.abc 'cat >> .ssh/authorized_keys'
Server02's password:
From now on you can log into 172.19.7.abc as root from 172.19.7.xyz as a without password:
Server01:~> ssh root@172.19.7.abc


A note from one of our readers: Depending on your version of SSH you might also have to do the following changes:
Put the public key in .ssh/authorized_keys2
Change the permissions of .ssh to 700
Change the permissions of .ssh/authorized_keys2 to 640

No comments:

Post a Comment