Для того, чтобы получить доступ к удаленной машине по протоколу SSH необходимо знать, как минимум логин и пароль. Не всегда удобно вводить их каждый раз, особенно если используемых удаленных сервером слишком много. Для упрощения жизни, можно использовать доступ по общему ключу.
Процедура довольно простая.
1. На локальной машине необходимо сгенерировать публичный и приватный ключи без passphrase:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/me/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/me/.ssh/id_rsa.
Your public key has been saved in /home/me/.ssh/id_rsa.pub.
The key fingerprint is:
6a:f0:01:e1:3b:61:7f:2b:39:e2:12:02:69:03:65:32
2. Затем нужно скопировать публичный ключ на сервер
remoteuser заменить на того, для кого нужен доступ по ключу.
3. Теперь нужно зайти на сервер под нужным пользователем и добавить публичный ключ в файл ~/.ssh/authorized_keys
rm ~/id_rsa.pub
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Все. Теперь с локальной машины попробуйте
Если вас по прежнему спрашивают пароль, убедитесь, что на сервере в файле /etc/ssh/sshd_config раскомментированы строки
AuthorizedKeysFile .ssh/authorized_keys

Да, очень удобный способ работать с сервером.
Кстати, он подходит даже для подключения к виртуальному хостингу, если там есть поддержка SSH.
спасибо большое!
Отправить комментарий