Назад | Перейти на главную страницу

У меня есть закрытый ключ DSA в формате PEM. Что мне делать дальше, чтобы получить доступ к SSH без пароля?

У меня есть закрытый ключ DSA в формате PEM. Что мне делать дальше, чтобы получить доступ к SSH без пароля?

Образец сертификата в формате PEM: http://ospkibook.sourceforge.net/docs/OSPKI-2.4.7/OSPKI-html/sample-priv-key.htm

Ах, я думаю, вы путаете сертификаты ssh и сертификаты ssl.

ssh использует две формы двух основных форм ключей двухфакторной аутентификации: 1) стандартные пары ключей RSA или DSA (общедоступные, частные) или 2) сертификаты ssh, которые (согласно man ssh-keygen)

... состоят из открытого ключа, некоторой информации об идентичности, нуля или более имен участников (пользователя или хоста) и необязательного набора ограничений, которые подписываются ключом центра сертификации (CA).

далее говорится:

Обратите внимание, что сертификаты OpenSSH - это другой и гораздо более простой формат сертификатов X.509, используемых в ssl (8).

Чтобы создать нормальная пара ключей ssh, сделайте что-нибудь вроде следующего:

ssh-keygen -t rsa -b 2048 -f test

Желательно защитить закрытый ключ паролем.

Затем, разместив открытый ключ (test.pub в этом случае) в файле ~ / .ssh / authorized_keys на главной странице входа пользователя целевого хоста, вы должны иметь возможность войти на целевой хост без пароля, если sshd настроен для этого.

ssh -i test user@host

Для создания сертификат ssh, сделайте что-нибудь вроде следующего:

  1. ssh-keygen -f ca_key # генерировать пару ключей ssh ​​для использования в качестве сертификата
  2. сгенерировать ключ хоста ssh-keygen -s ca_key -I cert_identifier -h host_key.pub
  3. укажите ключ хоста в файле конфигурации sshd сервера: TrustedUserCAKeys /etc/ssh/ssh_cert/host_key.pub
  4. сгенерируйте локальный сертификат для доступа к хосту с помощью сертификата ssh: ssh-keygen -s ca_key -I cert_identifier user_key.pub. Это должно сгенерировать user_key-cert.pub

Предполагая, что все прошло правильно, ssh -i user_key user@host будет использовать файл user_key-cert.pub, и вход в систему будет продолжен автоматически (если это разрешено на сервере). Сервер будет регистрировать соединение с cert_identifier если так настроено.

Сертификаты ssh - это новая функция, которая все еще требует устранения некоторых аспектов удобства использования. Их преимущества включают в себя центральный ключ подписи, альтернативу ограничению соединений через authorized_keys и возможность ограничения сроков действия сертификатов ssh.

Это может вам помочь - ссылка на сайт

Или вы можете использовать ssh-copy-id user@host также.