许多 Linux 服务器已经设置好,因此它们TrustedUserCAKeys
在其 sshd_config 中已有。
我的 SSH 公钥没有也不应该安装在这些服务器上。相反,当我需要访问这些服务时,我会使用一个软件用服务器信任的 CA 证书对我的 SSH 公钥进行签名,如上所述。签发的签名是短时间的,所以它的有效期是半小时。
假设我的私钥存储在mykey
文件中,公钥存储在mykey.pub
文件中。因此,该软件对我进行身份验证,当它认为我有必要的访问权限时,会向我颁发我的签名mykey.pub
,然后我将其存储在mykey-cert.pub
文件中。对于当前目录中的所有三个文件,我在 Linux 上发出以下命令:
ssh -i mykey myname@server
我参加了。
我也希望能够从 Windows 访问这些 Linux 服务器。我当然可以尝试使用 cygwin 或 msys ssh,但我喜欢 PuTTY 的便利性。
有什么方法可以让 PuTTY 理解并将我的 CA 签名密钥传达给服务器?
答案1
OpenSSH 证书尚未在 OpenSSH 以外的任何系统中实现。不久前在 openssh-unix-dev 邮件列表 (主题) 中讨论过这个问题:
https://lists.mindrot.org/pipermail/openssh-unix-dev/2017-May/035992.html
您真正拥有的最好的机会是使用 Windows 上的 Cygwin 或由 Windows 开发人员制作的“本机 Win32”应用程序,目前“应该可以工作”:
https://github.com/PowerShell/Win32-OpenSSH/wiki/Project-Status
答案2
支持 OpenSSH 证书已添加到PuTTY当前版本(v0.78)。