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