If you want to ssh from 'userx' of host X to 'usery' of host Y without typing password, you need to do the following.
1. Log in on host X as userx and generate a pair of authentication keys. Make sure not to enter a passphrase:
```
userx@X:~> ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/userx/.ssh/id_rsa):
Created directory '/home/userx/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/userx/.ssh/id_rsa.
Your public key has been saved in /home/userx/.ssh/id_rsa.pub.
The key fingerprint is:
3x:5f:05:79:3d:8f:9e:7c:3b:ad:e9:58:37:bc:37:e4 userx@X
```
2. Log in on host Y as usery and then create a directory ~/.ssh on Y. (It's okey if the directory already exist):
```
userx@X:~> ssh usery@Y mkdir -p .ssh
usery@Y's password:
```
3. Append X's new public key to usery@Y:.ssh/authorized_keys and enter usery's password one last time:
```
userx@X:~> cat .ssh/id_rsa.pub | ssh usery@Y 'cat >> .ssh/authorized_keys'
usery@Y's password:
```
4. That's it! Now on you can log into Y as usery from X as userx without password.
```
user@X:~> ssh user@Y
```
Depending on your SSH version you might also have to do one of the following changes:
Change the permissions of .ssh to 700 and anything inside to 600
userx@X:~> chmod 700 ~/.ssh && chmod 600 ~/.ssh/*
userx@X:~> ssh usery@Y chmod 700 ~/.ssh && chmod 600 ~/.ssh/*
Put the public key in .ssh/authorized_keys2 and the change the permissions of .ssh/authorized_keys2 to 640
In [ ]:
In [ ]:
In [ ]: