четверг, 2 июля 2015 г.

Беспарольный SSH

Для входа на 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

В случае если необходимо разрешить доступ для определенных пользователей используем директиву


Разрешить доступ для группы sudoers

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 <имя сервера>

Комментариев нет:

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