我需要为GitHub做SSH密钥审计,但我不确定如何找到我的RSA密钥指纹。我最初是按照指南在Linux上生成SSH密钥的。

我需要输入什么命令来查找我当前的RSA密钥指纹?


当前回答

如果您的SSH代理正在运行,那么它就是在运行

ssh-add -l

列出所有身份的RSA指纹,或-L列出公钥。

如果您的代理没有运行,请尝试:

ssh-agent sh -c 'ssh-add; ssh-add -l'

对于您的公钥:

ssh-agent sh -c 'ssh-add; ssh-add -L'

如果您得到这样的消息:'代理没有身份。',然后您必须先通过ssh-keygen生成您的RSA密钥。

其他回答

如果您需要从私钥获取,请执行以下操作:

ssh-keygen -y -f key > key.pub && ssh-keygen -lf key.pub

如果您的SSH代理正在运行,那么它就是在运行

ssh-add -l

列出所有身份的RSA指纹,或-L列出公钥。

如果您的代理没有运行,请尝试:

ssh-agent sh -c 'ssh-add; ssh-add -l'

对于您的公钥:

ssh-agent sh -c 'ssh-add; ssh-add -L'

如果您得到这样的消息:'代理没有身份。',然后您必须先通过ssh-keygen生成您的RSA密钥。

谷歌计算引擎在Linux实例的串行输出中显示SSH主机密钥指纹。API可以从GCE获取数据,并且不需要登录到实例。

除了串行输出,我在其他地方都没找到。我认为指纹应该放在对程序员更友好的地方。

然而,这似乎取决于实例的类型。我正在使用Debian 7 (Wheezy) f1-micro的实例。

$ ssh-add -l 

也适用于Mac OS X v10.8 (Mountain Lion) - v10.10 (Yosemite)。

它还支持-E选项来指定指纹格式,因此在需要MD5的情况下(它经常被使用,例如GitHub),只需在命令中添加-E MD5。

在这里从AWS论坛复制内容,因为我发现它对我的用例很有用——我想检查哪些密钥与我导入AWS的密钥匹配

Openssl pkey -in ~/.ssh/ec2/primary.使用实例openssl md5 -c . pem -pubout -outform DER |

地点:

主要的Pem是要检查的私钥

注意,这与ssh-keygen计算的指纹不同。