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