среда, 30 мая 2012 г.

SSH - авторизация по сертификатам открытого ключа (Linux)

Авторизацию по паролю SSH на сервере Linux можно заменить (усилить) авторизацией с помощью сертификата открытого ключа.

  1. Сгенерировать пару личный и открытый ключ в ОС Windows можно, например, с помощью PuTTY либо SecuryCRT
  2. Создать (если еще не существует) в домашней папке необходимого пользователя скрытую подпапку .ssh/
  3. Создать в этой папке файл authorized_keys (authorized_keys2). Владелец файла - данный пользователь, mode - 700 (rwx)
  4. Скопировать/вставить в этот файл(ы) значение открытого ключа (public ssh key) в одну строчку (очень важно!)
  5. При этом обратить особое внимание, чтобы:
  • не было email@example.com в конце данной стоки;
  • не было BEGIN PUBLIC KEY или END PUBLIC KEY;
  • не было rsa-key-20090614 в конце строки;
  • убедитесь, что ssh-rsa расположено в начале строки.
В файле конфигурации ssh-демона sshd_config необходимо установить следующие параметры:


# Authentication:
LoginGraceTime 120
PermitRootLogin no
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      %h/.ssh/authorized_keys (?)
# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no
# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no

Последний параметр можно заменить (усилить) при создании пользователя:
# adduser autotimesheet --disabled-password

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

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