Входить на удалённый сервер по  ssh каждый раз вводя пароль довольно утомительно. Или требуется автоматически копировать файлы через scp с одного сервера на другой.

Но SSH умеет авторизоваться с помощью rsa или dsa ключей. Рассмотрим только rsa.

Технология простая — сгенерили ключ, забросили на сервер к которому обычно ходим по паролю, подключились.

Прежде всего надо создать пару ключей.

ssh-keygen -t rsa

Enter file in which to save the key (/root/.ssh/id_rsa):

Путь для создаваемого ключа оставляем неизменным нажимая в ответ на запрос ENTER

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

Если вы хотите что бы ваш ключ был дополнительно подтверждён паролем (произвольным), то задайте его в ответ на запрос passphrase. Если пароль для подтверждения не требуется, то просто нажмите ENTER. Ну и повторите соответственно.

Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
3d:31:b2:4c:d7:32:95:e3:73:27:16:3b:a2:b8:6a:8c root@host
The key's randomart image is:
±-[ RSA 2048]----+
|            ...  |
|           oo .  |
|        o *... o |
|       o = =+ * .|
|        S.o. = + |
|        . ...    |
|     o   .       |
|    E o .        |
|     ...         |
±----------------+

После того, как ключи созданы, нам надо передать публичный ключ (в нашем случае id_rsa.pub) на удалённый сервер.

Сделать это можно с помощью команды:

ssh-copy-id -i ~/.ssh/id_rsa.pub remote-user@remote-host

Здесь следует быть внимательным и не отправить по ошибке на сервер приватный ключ (id_rsa) вместо публичного (id_rsa.pub).

Программа отрапортует о завершении

Now try logging into the machine, with «ssh remote-user@remote-host», and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.

предложив зайти на на удалённый хост командой:

ssh remote-user@remote-host

Если всё прошло успешно, то пароль у Вас спрошен не будет. Иначе следует проверить .ssh/authorized_keys.

Так же авторизоваться с ключом не удастся, если Вы отправили не тот ключ. Удалите на удалённой машине ~/.ssh/authorized_keys и повторите засыл с помощью ssh-copy-id.

PS. Можно забросить ключ на другой сервер иначе

cat ~/.ssh/id_rsa.pub | ssh -l user localhost 'mkdir -p .ssh;touch .ssh/authorized_keys; cat >> .ssh/authorized_keys'

где, ssh_user это пользователь под которым хотим попадать на удаленный ssh_host