协慌网

登录 贡献 社区

如何找到 RSA 密钥指纹?

我需要为 GitHub 进行 SSH 密钥审核,但我不确定如何找到我的 RSA 密钥指纹。我最初按照指南在Linode主持的Ubuntu 10.04 (Lucid Lynx)盒子上进行设置。

如果使用 PuTTY 远程登录,我需要输入什么命令来查找当前的 RSA 密钥指纹?

答案

运行以下命令以检索 SSH 密钥指纹( -l表示 “list” 而不是创建新密钥, -f表示 “filename”):

$ ssh-keygen -lf /path/to/ssh/key

例如,在我的机器上,我运行的命令是(使用 RSA 公钥):

$ ssh-keygen -lf ~/.ssh/id_rsa.pub
2048 00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff /Users/username/.ssh/id_rsa.pub (RSA)

对于较新版本的 ssh-keygen,如果你想要与旧版本相同的格式(感谢 Lloyd Dewolf),请运行ssh-keygen -E md5 -lf <fileName>

奖金信息:

ssh-keygen -lf也适用于known_hostsauthorized_keys文件。

使用find /etc/ssh /home/*/.ssh /Users/*/.ssh -name '*.pub' -o -name 'authorized_keys' -o -name 'known_hosts'在 Linux / Unix / OS X 系统上查找最公开的内容find /etc/ssh /home/*/.ssh /Users/*/.ssh -name '*.pub' -o -name 'authorized_keys' -o -name 'known_hosts' (如果你想看到其他用户的 homedirs,你必须是 root 或 sudo。)

ssh-add -l非常相似,但列出了添加到代理的密钥的指纹。 (OS X 用户注意到通过 Keychain 进行魔术无密码 SSH 与使用 ssh-agent 不同。)

较新的 SSH 命令会将指纹列为SHA256密钥。

例如:

ssh-keygen -lf ~/.ssh/id_dsa.pub 
1024 SHA256:19n6fkdz0qqmowiBy6XEaA87EuG/jgWUr44ZSBhJl6Y (DSA)

如果需要将其与旧指纹进行比较,还需要指定使用MD5指纹散列函数。

ssh-keygen -E md5 -lf ~/.ssh/id_dsa.pub
2048 MD5:4d:5b:97:19:8c:fe:06:f0:29:e7:f5:96:77:cb:3c:71 (DSA)

也可用: -E sha1

更新...... 是...... 是的...... 我知道...... 不应再使用 SSH 的 DSA 密钥,而应使用旧的 RSA 密钥或更新的黄道键。

对那些继续编辑我在上面使用的命令的 “管理员”。停止改变它!您使命令和结果输出不匹配!

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

ssh-add -l

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

但是如果你得到错误的话; Could not open a connection to your authentication agent.
那么这意味着 ssh-agent 没有运行。您可以使用以下命令启动 / 运行它: ssh-agent bash (感谢评论中的 @Richard),然后重新运行ssh-add -l