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

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

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

2 ответа

Ah -- I think you are confusing ssh certificates and ssl certificates.

ssh uses two forms of two main forms of two-factor authentication keys: 1) standard RSA or DSA key pairs (public, private) or 2) ssh certificates which (according to 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 также.

Другие вопросы по тегам