我需要为GitHub做SSH密钥审计,但我不确定如何找到我的RSA密钥指纹。我最初是按照指南在Linux上生成SSH密钥的。
我需要输入什么命令来查找我当前的RSA密钥指纹?
我需要为GitHub做SSH密钥审计,但我不确定如何找到我的RSA密钥指纹。我最初是按照指南在Linux上生成SSH密钥的。
我需要输入什么命令来查找我当前的RSA密钥指纹?
当前回答
有时您可以在~/中有一串键。ssh目录,不知道哪个匹配GitHub/Gitlab/etc显示的指纹。
下面介绍如何显示~/中所有密钥的密钥文件名和MD5指纹。ssh目录:
cd ~/.ssh
find . -type f -exec printf "\n{}\n" \; -exec ssh-keygen -E md5 -lf {} \;
(参数的含义请参见find命令的回答。
请注意,属于一个密钥的私有/公共文件具有相同的指纹,因此您将看到重复的指纹。
其他回答
要在第一次连接之前检查远程SSH服务器,可以查看www.server-stats.net/ssh/以查看服务器的所有SHH密钥,以及何时知道密钥。
这与SSL证书不同,但绝对是第一次连接到任何SSH服务器之前必须做的事情。
$ ssh-add -l
也适用于Mac OS X v10.8 (Mountain Lion) - v10.10 (Yosemite)。
它还支持-E选项来指定指纹格式,因此在需要MD5的情况下(它经常被使用,例如GitHub),只需在命令中添加-E MD5。
有时您可以在~/中有一串键。ssh目录,不知道哪个匹配GitHub/Gitlab/etc显示的指纹。
下面介绍如何显示~/中所有密钥的密钥文件名和MD5指纹。ssh目录:
cd ~/.ssh
find . -type f -exec printf "\n{}\n" \; -exec ssh-keygen -E md5 -lf {} \;
(参数的含义请参见find命令的回答。
请注意,属于一个密钥的私有/公共文件具有相同的指纹,因此您将看到重复的指纹。
如果您的密钥在SSH代理中,最快的方法是:
$ ssh-add -L | ssh-keygen -E md5 -lf /dev/stdin
代理中的每个键将被打印为:
4096 MD5:8f:c9:dc:40:ec:9e:dc:65:74:f7:20:c1:29:d1:e8:5a /Users/cmcginty/.ssh/id_rsa (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密钥。