使用 PuTTY 连接到新的 Amazon EC2 实例时如何确认 SSH 指纹?

Max*_*ugh 5 ssh putty amazon-ec2 ssh-keys

当我使用新的 EC2 生成的密钥对创建运行 Ubuntu 18.04 的新 EC2 实例时,我使用 puttygen 将生成的 .pem 转换为 .ppk,然后尝试使用 PuTTY 连接到该实例,系统会显示预期的确认提示SSH 指纹:

PuTTY指纹检查提示

PuTTY 向我展示了 MD5 哈希值的十六进制表示形式。这是 PuTTY 支持的唯一指纹格式。

在 PuTTY 之外,目前首选的指纹格式是以 Base64 表示的 SHA256 哈希值。

如果我查看新创建的实例的 EC2 系统日志,我果然会看到 SSH 指纹、Base64 表示形式的 SHA256:

EC2系统登录新实例

查看此答案,Amazon Linux 过去(也许仍然如此?)以十六进制输出哈希值,而不是 Base64。

如何验证 EC2 系统日志中显示的 Base64 SHA256 指纹是否与 PuTTY 所连接的内容匹配?我宁愿避免安装 EC2 特定的工具。

顺便说一句,当我从 PowerShell 使用 OpenSSH 时,我在确认指纹时没有遇到任何问题。(我会考虑使用这个而不是 PuTTY,但它似乎缺乏鼠标支持。)

PowerShell 中的 ssh 命令

另外,我发现这个答案内容丰富,但它没有给我答案。

(屏幕截图中显示的所有详细信息都反映了一个短暂的实例。我已经销毁了密钥对。)

dav*_*085 4

在记下密钥类型(算法)和可选指纹后接受(至少暂时)主机密钥,但尚未输入任何敏感信息,例如您的密码或猫视频。做

ssh-keygen -l -f /etc/ssh/ssh_host_{type}_key.pub
Run Code Online (Sandbox Code Playgroud)

这将显示密钥的“现代”(sha256/base64)指纹。检查它是否与 AWS 控制台中的值匹配。您可以添加-v并检查“ASCII 艺术”绘图,据报道研究称这种绘图更容易比较,尽管我个人并不这么认为。但我从来不擅长那些以前在报纸上出现的“这幅画​​出了什么问题”的谜题,当曾经有报纸的时候。

也可以选择做

ssh-keygen -l -E md5 -f {same}
Run Code Online (Sandbox Code Playgroud)

确认“古代”(md5/hex)指纹与 PuTTY 显示的值匹配,尽管对此应该没有什么疑问。

如果事实证明这是错误的主机,请断开连接并从注册表中删除错误接受的密钥HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys


归档时间:

查看次数:

3123 次

最近记录:

6 年,1 月 前