У меня есть закрытый ключ 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, сделайте что-то вроде следующего:
ssh-keygen -f ca_key
# создать пару ключей ssh для использования в качестве сертификата- генерировать ключ хоста
ssh-keygen -s ca_key -I cert_identifier -h host_key.pub
- укажите ключ хоста в конфигурационном файле sshd сервера:
TrustedUserCAKeys /etc/ssh/ssh_cert/host_key.pub
- сгенерируйте локальный сертификат для доступа к хосту, используя 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
также.