ssh-keygen -t rsa -b 4096ssh-keygen создаст пару публичного и приватного (зашифрованного введенным паролем) ключей, используемых для аутентификации. Приватный ключ сохраняется в ~/.ssh/id_rsa, а публичный в ~/.ssh/id_rsa.pub.
Для включения аутентификации по ключам публичный ключ должен быть помещен в файл ~/.ssh/authorized_keys на удаленном компьютере.
Идём на удалённую машину
ssh user@192.168.1.100
mkdir ~/.sshВозвращаемся
exit
Копируем ПУБЛИЧНЫЙ! ключ id_rsa.pub на удаленную машину
cat ~/.ssh/id_rsa.pub | ssh user@192.168.1.100 "cat - >> ~/.ssh/authorized_keys"Файл authorized_keys может содержать несколько публичных ключей, допустимых для данного пользователя - их необходимо поместить в файл по порядку.
После этих операций, имея секретный ключ, можно входить на сервер, где размещен ваш публичный ключ, причем под тем пользователем, в чьем домашнем каталоге данный ключ находится. Пароля удаленного пользователя не требуется, необходимо только знать пароль расшифровки секретного ключа.
Проверяем, включена ли авторизация по ключам - в файле /etc/ssh/sshd_config должно быть раскоментировано:
# разрешаем использование RSA ключей RSAAuthentication yes # разрешаем авторизацию при помощи ключей PubkeyAuthentication yes # Путь где будут находиться ключи, с которыми можно соединяться. AuthorizedKeysFile .ssh/authorized_keys
Если на сервере вообще хотим запретить авторизацию по паролям, выставляем параметр в /etc/ssh/sshd_config:
PasswordAuthentication no PermitEmptyPasswords no
После изменения sshd_config нужно перезапустить sshd
/etc/rc.d/sshd restart
Если при создании ключа мы задали пароль, то при первом подключении его нужно будет ввести.
Если что-то не работает - смотрим /var/log/auth.log
Комментариев нет:
Отправить комментарий