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

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


当前回答

要在第一次连接之前检查远程SSH服务器,可以查看www.server-stats.net/ssh/以查看服务器的所有SHH密钥,以及何时知道密钥。

这与SSL证书不同,但绝对是第一次连接到任何SSH服务器之前必须做的事情。

其他回答

要在Ubuntu上查看密钥,只需在终端上输入以下命令:

ssh-add - l

你会得到这样的输出: 2568 0j:20:4b:88:a7:9t:wd:19:f0:d4:4y:9g:27:cf:97:23 yourName@ubuntu (RSA)

如果你得到一个错误,比如;无法打开到您的身份验证代理的连接。 这意味着ssh-agent没有运行。你可以用以下命令启动/运行它: ssh-agent bash(感谢评论中的@Richard),然后重新运行ssh-add -l

有时您可以在~/中有一串键。ssh目录,不知道哪个匹配GitHub/Gitlab/etc显示的指纹。

下面介绍如何显示~/中所有密钥的密钥文件名和MD5指纹。ssh目录:

cd ~/.ssh
find . -type f -exec printf "\n{}\n" \; -exec ssh-keygen -E md5 -lf {} \;

(参数的含义请参见find命令的回答。

请注意,属于一个密钥的私有/公共文件具有相同的指纹,因此您将看到重复的指纹。

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

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

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

要在第一次连接之前检查远程SSH服务器,可以查看www.server-stats.net/ssh/以查看服务器的所有SHH密钥,以及何时知道密钥。

这与SSL证书不同,但绝对是第一次连接到任何SSH服务器之前必须做的事情。

在Fedora上我找到~/。SSH,它告诉我密钥在

/root/.ssh
/root/.ssh/authorized_keys