Я использую 4096-байтовый ключ RSA PGP; поскольку SSH также использует стандарт RSA, возможно ли вообще использовать ключ PGP в качестве ключа SSH без установки дополнительного программного обеспечения на сервер (и как можно меньше на клиенте)?
Есть несколько способов, которые могут или не могут работать:
gpg2
в Debian входит gpgkey2ssh
инструмент, который также gpg-agent
может выступать в роли агента ssh, но я не мог понять, как заставить ssh использовать ключ для аутентификации.В версии 2.0.13 SSH2 появилась поддержка аутентификации PGP.
Получив информацию из ответов на этот вопрос и с помощью списка рассылки gnupg-users, я смог выяснить, как использовать мой ключ GPG для аутентификации SSH. Есть несколько возможных способов сделать это.
Я написал пост в блоге о некоторых возможных решениях: http://budts.be/weblog/2012/08/ssh-authentication-with-your-pgp-key
Подводя итог: либо вы используете GnuPG 2.1, которая в настоящее время находится в бета-версии. При использовании этой версии вы можете просто запустить gpg-agent с опцией --enable-ssh-support и добавить ключевую рукоятку для вашего ключа GPG (или подключа) в ~ / .gnupg / sshcontrol.
Когда вы используете текущую стабильную версию GnuPG (2.0.x), вы можете использовать monkeysphere, чтобы добавить свой ключ в gpg-agent (опять же, после запуска gpg-agent с опцией --enable-ssh-support).
Также возможно использовать набор ключей GNOME (или даже обычный ssh-агент) с помощью monkeysphere. Единственная проблема в этом случае заключается в том, что вам придется повторно добавлять ключ при повторном входе в систему (в Gnome или XFCE). Чтобы решить эту проблему, вы можете вручную экспортировать ваш ключ и конвертировать его.
Этот документ показывает, как это сделать на клиенте SSH.com; Я не уверен, что он работает на OpenSSH, но, возможно, стоит попробовать.