Для входа на SSH сервер с использованием беспарольной аутентификации необходимо сгенерировать ключ (private) который будет использоваться на клиенте
ssh-keygen -t <тип ключа (RSA по умолчанию)>
Затем настроим /etc/ssh/sshd_config на сервере
RSAAuthentication yes
PubkeyAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
В случае если необходимо разрешить доступ для определенных пользователей используем директиву
Match Group sudoers
Для доступа с Linux, используем следующий способ:
ssh-copy-id -i ~/.ssh/<имя публичного ключа> <удаленный сервер>
Например:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@remotehost.com
После этого наш публичный ключ появится в файле authorized_keys (можно просто добавить туда вручную)
Затем, необходимо добавить нужный ключ в используемые для входа ключи командой (убедитесь что на ключ сделан chmod 400, иначе будет ругаться что unprotected private key):
ssh-add ~/.ssh/<имя публичного ключа*>
Проверим есть ли этот ключ в списке:
ssh-add -L
Для доступа с Windows хоста, можно использовать PuTTY:
для этого необходим сам PuTTY.exe, puttygen.exe и pagent.exe.
Импортируйте приватный ключ с помощью puttygen.exe в формат ppk, который необходимо открыть в pagent.exe.
Делаем chmod 0600 для private ключей на сервере.
Для отладки подключения ssh используйте
ssh -vT <имя сервера>
Комментариев нет:
Отправить комментарий