Генерируем открытый/закрытый SSH-ключ в Linux

Автор: Aport Понедельник, Февраль 2nd, 2015 Нет комментариев

Рубрика: MySQL

Если вы часто используете ssh для подключения к удаленному хосту, одним из способов обеспечения безопасности соединения является применение открытого/закрытого SSH-ключа, так как при этом по сети не передается никакой пароль и система устойчива к атакам методом «грубой силы».
Создать открытый/закрытый SSH-ключ в Linux очень просто.

1. Откройте терминал. Введите:

$ ssh-keygen -t rsa

Альтернативой является использование для создания ключа технологии DSA (Digital Signing Algorithm):

$ ssh-keygen -t dsa

Примечание: Было много дебатов о том, что безопаснее, DSA или RSA. По моему мнению, если только вы не любитель копаться в технических подробностях, большой разницы между этими технологиями нет. Обе работают хорошо.

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

создание SSH-ключа

3. Далее, вас попросят ввести идентификационную фразу. Это не идентификационная фраза для соединения с удаленным хостом. Это идентификационная фраза для разблокировки закрытого ключа, поэтому она не поможет вам получить доступ к удаленному серверу, даже если на нем хранится ваш закрытый ключ. Ввод идентификационной фразы не является обязательным. Чтобы оставить ее пустой, просто нажмите «Enter».

ввод идентификационной фразы

4. Теперь ваши открытый и закрытый SSH-ключи должны быть сгенерированы. Откройте файловый менеджер и перейдите в директорию .ssh. Вы должны увидеть два файла: id_rsa и id_rsa.pub.

5. Загрузите файл id_rsa.pub в домашнюю директорию вашего удаленного хоста (предполагается, что удаленный хост работает под Linux). Подключитесь к удаленному хосту с помощью SSH и переместите открытый ключ в его целевую директорию с помощью команд:

$ cat id_rsa.pub >> ~/.ssh/authorized_keys
$ rm id_rsa.pub

в принципе всё, можно подключаться по ключу, но если не получается, то выставите правильные права:

$ chmod -u=rwX,go= ~/.ssh
$ chmod -u=rw,go=r ~/.ssh/authorized_keys

Если это не помогло, то оставаясь на удаленном хосте, откройте конфигурационный файл SSH:

$ sudo nano /etc/ssh/sshd_config

Убедитесь, что следующие атрибуты имеют корректные значения:

RSAAuthentication yes
PubkeyAuthentication yes
PasswordAuthentication no

Нажмите «ctrl + o», чтобы сохранить изменения, затем «ctrl + x», чтобы закрыть файл.

И последнее, перезапустите сервер SSH на удаленном хосте:

$ sudo /etc/init.d/ssh reload

На этом все. Теперь вы можете соединяться со своим удаленным хостом с помощью команды:

$ ssh -i /path-to-private-key username@remote-host-ip-address

 

Источник: yapro.ru

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

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты