Эта запись будет полезна людям, которым часто имеют дело с удаленным ssh соединением. Для того, чтобы сократить время на подключение (избавить себя от долгих строк в консоли и не всегда удачных попыток ввода пароля) приношу эту краткую заметку.
Сначала нужно сгенерировать приватный и публичный ключи, с помощью которых будет проходить аутентификация (проверка подлинности данных, которую часто путают с авторизацией — проверкой уровня доступа). Затем нужно скопировать публичный ssh ключик на удаленный хост.
Добавление ключа
alex@alex-desktop:~$ ssh-keygen alex@alex-desktop:~$ ssh-copy-id root@19.24.74.10 (удаленный хост)
Если sshd ( ssh демон) удаленного хоста работает на специфичном порте, скопировать публичный RSA ключ можно таким образом.
alex@alex-desktop:~$ ssh-copy-id “root@domain.com -p2222” alex@alex-desktop:~$ ssh root@19.24.74.10
Теперь мы можем беспарольно подключаться на сервер. Дальше делаем команду подключения покороче ( делаем ssh aliases ).
Ssh aliases
alex@alex-desktop:~$ vim /home/alex/.ssh/config host serv1 User alex Port 2222 HostName server1.domain.com alex@alex-desktop:~$ ssh serv1 alex@serv1:~$
Здесь,
host - псевдоним для удаленного сервера; User - имя юзера, под которым будем логиниться Port - удаленный sshd порт HostName - адрес сервера
Чтобы добавить еще один сервер, нужно просто продублировать запись в ~/.ssh/config.
Частые проблемы с ssh
Problem: WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! Solution: ssh-keygen -R {server.name.com}
Problem: ssh root login fail Solution: vim /etc/openssh/sshd_config #PermitRootLogin yes
Problem: usr/bin/ssh-copy-id: ERROR: No identities found Solution: ~# eval `ssh-agent` ~# ssh-add ~# ssh-copy-id user@example.com