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

 #10173   IgorA100
 17 авг 2017, 19:11
Рассматривать будем на базе OS Centos
1. Убеждаемся в том, что авторизация по ключу включена на принимающем сервере:
Код: Выделить всё cat /etc/ssh/sshd_config

Следующие строки должны быть раскомментированы:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys

2. Создаем открытый и закрытый ключи командой:
Код: Выделить всёssh-keygen -t rsa

или
Код: Выделить всёssh-keygen -t dsa

Сколько людей, столько и мнений, какой ключ лучше RSA или DSA. Далее мы будем рассматривать на примере RSA

Затем нажимаем "Enter".
Далее будет задан вопрос на ввод парольной фразы. Следует снова нажать "Enter" ничего не вводя, в противном случае данная фраза будет постоянно запрашиваться при авторизации по ключу.
Далее будет вопрос с подтверждение парольной фразы. Снова просто жмем "Enter".
Сгенерированные ключи будут находиться по адресу: ~/.ssh/id_rsa - приватный ключ, ~/.ssh/id_rsa.pub - публичный ключ

3. Теперь необходимо публичный ключ добавить в файл "authorized_keys" находящийся на том сервере, с которого будем соединяться.
Для этого выполним команду:
Код: Выделить всёssh-copy-id "-i ~/.ssh/id_rsa.pub root@1.1.1.1 -p 2222"

Где:
"~/.ssh/id_rsa.pub" - путь к ключу, который добавляем
"root" - имя пользователя из под которого будет инициироваться соединение с удаленного сервера
"1.1.1.1" - адрес удаленного сервера на который мы копируем публичный ключ. С этого же сервера и будет инициализироваться соединение по SSH
"-p 2222" - порт удаленного сервера на который мы копируем публичный ключ. Если порт стандартный 22, то можно этот параметр не указывать.

Далее нажимаем "Enter", после чего будет запрос на ввод пароля для пользователя "root" (или другого, которого Вы указали ранее при копировании публичного ключа). Вводим пароль и снова нажимаем "Enter".
После заходим в домашнюю папку пользователя "root" и проверяем файл "~/.ssh/authorized_keys" в нем должна быть добавлена новая строчка с публичным ключом.