Доступ к серверу по SSH с помощью публичного ключа

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

Процедура довольно простая.
1. На локальной машине необходимо сгенерировать публичный и приватный ключи без passphrase:

[me@local .ssh]# ssh-keygen
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. Затем нужно скопировать публичный ключ на сервер

scp ~/.ssh/id_rsa.pub remoteuser@192.168.1.70:~/  

remoteuser заменить на того, для кого нужен доступ по ключу.

3. Теперь нужно зайти на сервер под нужным пользователем и добавить публичный ключ в файл ~/.ssh/authorized_keys

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys  
rm ~/id_rsa.pub
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys



Все. Теперь с локальной машины попробуйте

ssh remoteuser@192.168.1.70

Если вас по прежнему спрашивают пароль, убедитесь, что на сервере в файле /etc/ssh/sshd_config раскомментированы строки

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

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

спасибо большое!

Отправить комментарий

Image CAPTCHA
Enter the characters shown in the image.
Реклама на stremoukhov.ru: