OpenSSH支持使用证书颁发机构对用户密钥进行签名。 从man ssh-keygen :
ssh-keygen supports signing of keys to produce certificates that may be used for user or host authentication. Certificates consist of a public key, some identity information, zero or more principal (user or host) names and a set of options that are signed by a Certification Authority (CA) key
在纯Linux环境中,SSH证书非常易于使用。 没有问题的服务器部分( TrustedUserCAKeys )和客户TrustedUserCAKeys ssh -i做正确的工作。
我需要能够使用来自Windows SSH客户端的OpenSSH证书(该项目是通过使用公司特定的身份validationscheme对自己进行身份validation后,向系统pipe理员Windows工作站提供短期存在的SSH证书)。
Cygwin不是一个选项(用锤子杀死苍蝇,可能不被Windowspipe理员接受),PuTTY不能识别OpenSSH证书。
什么是其他选项?
如果你不能最终搞清楚用PuTTY来使用证书的方法。 有一种比Cygwin更轻量级的方式来获得Windows上的实际OpenSSH客户端。 想到的最可能的候选人是Git的Windows分布 。
有一个标准的可安装版本或便携式版本,您可以解压缩并运行。 这基本上是bash,git和ssh。
稍微重一点,但至less在操作系统上是Linux的Windows子系统,如果你有Windows 10周年更新或更新的版本,它可以工作。
从这个页面
该文件应该为腻子工作。
从这里: https : //burnz.wordpress.com/2007/12/14/ssh-convert-openssh-to-ssh2-and-vise-versa/
您可以使用ssh-keygen -e -f ~/.ssh/id_rsa.pub > ~/.ssh/id_rsa_ssh2.pub将密钥从OpenSSH转换为SSH2。 在将密钥分发给客户端之前,请执行此服务器端?
在一天结束时,您将生成客户端使用的临时.pub密钥,并由证书签名,因此只需使用PuTTY将接受的格式即可。
假设您的工作stream程如下所示: https : //blog.habets.se/2011/07/OpenSSH-certificates