SSH авторизация по ключу

Допустим, вам необходимо настроить беспарольный вход по ssh (scp и sftp тоже) на удаленный сервер remote.org.ua под пользователем user. Если имя Вашего локального пользователя совпадает с удаленным, то user@ везде можно опустить.

1) создаем открытый и закрытый ключ нашей локальной системы

$ ssh-keygen -t rsa
нажимаем "Enter", отказываясь от ключевой фразы.

2) если в системе есть программа ssh-copy-id, то настраиваем удаленную систему на то, чтобы оно авторизировало ssh по открытому ключу

$ ssh-copy-id -i ~/.ssh/id_rsa user@remote.org.ua

переходим к шагу 4)

3) если ssh-copy-id нет, то можно сделать это вручную.

Вот последовательность действий:

3.1) копируем открытый ключ на удаленную систему

$ scp ~/.ssh/id_rsa.pub  user@remote.org.ua:~ 

3.2) Авторизуемся на удаленном сервере

$ ssh user@remoute.org.ua

3.3) заносим открытый ключ нашей локальный системы в авторизованные ключи удаленной системы, устанавливаем правильные права и "убираем за собой мусор":

remote$ [ -d ~/.ssh ] || (mkdir ~/.ssh; chmod 711 ~/.ssh) # создаем директорию и даём права
remote$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys        # добавляем открытый ключ
remote$ chmod 600 ~/.ssh/authorized_keys                  # делаем правильные права 
remote$ rm ~/id_rsa.pub                                   # удаляем не нужное

4) проверяем, что все работает, запускаем на локальном компьютере.

$ ssh user@remoute.org.ua

Удачной работы!