为 SSH 使用 PGP 密钥

use*_*725 19 ssh rsa gpg pgp

我使用 4096 字节的 RSA PGP 密钥;由于 SSH 也使用 RSA 标准,是否有可能将 PGP 密钥用作 SSH 密钥而无需在服务器上安装其他软件(并且尽可能少地在客户端上安装)?

use*_*686 14

有几种方法,可能有效,也可能无效:

  • 猴球
  • openssh-gpg,一个 OpenSSH 补丁
  • SSH.com 有内置支持
  • gpg2在 Debian 上有一个gpgkey2ssh工具,也gpg-agent可以充当 ssh 代理,但我不知道如何真正让 ssh 使用密钥进行身份验证。


小智 6

SSH2 2.0.13 版引入了对 PGP 身份验证的支持。

摘自 SSH The Secure Shell


小智 5

借助这个问题的答案中的信息以及 gnupg-users 邮件列表的帮助,我能够弄清楚如何使用我的 GPG 密钥进行 SSH 身份验证。有几种可能的方法可以做到这一点。

我写了一篇关于一些可能的解决方案的博文:http://budts.be/weblog/2012/08/ssh-authentication-with-your-pgp-key

总结一下:要么使用目前处于测试阶段的 GnuPG 2.1。使用此版本时,您只需使用 --enable-ssh-support 选项启动 gpg-agent 并将 GPG 密钥(或子密钥)的 keygrip 添加到 ~/.gnupg/sshcontrol 中。

当您使用当前稳定的 GnuPG 版本 (2.0.x) 时,您可以使用 Monkeysphere 将密钥添加到 gpg-agent(同样,在使用 --enable-ssh-support 选项启动 gpg-agent 后)。

还可以在 Monkeysphere 的帮助下使用 GNOME 密钥环(甚至常规的 ssh 代理)。在这种情况下,唯一的问题是您在再次登录(Gnome 或 XFCE)时必须重新添加密钥。要解决此问题,您可以手动导出密钥并进行转换。


koe*_*dmj 2

本文档展示了如何在 SSH.com 客户端上执行此操作;我不确定它是否适用于 OpenSSH,但可能值得一试。