如何确认ssh指纹

如何确认ssh指纹

我在 Windows 10 上工作。

我使用 PuTTY ssh 进入物理:CentOS7、虚拟机:CentOS6,7 和 Ubuntu 16。

第一次 ssh 从 Win TO vb:Ubuntu 时,我得到的是常规 ole 服务器/指纹,而不是已知主机弹出窗口。没什么大不了。但我想知道:我如何确认不存在“中间人”?

最简单的情况:我坐在目标(从这里开始称为“本地”)前面并直接检查其指纹。

事实证明:尝试在 Ubuntu 16 上使用ssh-keygen -lf <filename>(file /etc/ssh/ssh_host_rsa_key.pub:) 本地查看公共机器密钥指纹给了我一个指纹,我无法与来自远程 ssh 的任何警告进行匹配。

在任何地方,我的意思是:

  1. 该字符串不是 PuTTy 弹出窗口中出现的内容,并且"2048 SHA256:NPAUL **** 4QQ [email protected] (RSA)"
  2. 当我将 pub 密钥文件复制到 CentOS6 或 7 并ssh-keygen -l -f对其运行时,它们彼此匹配,但与ssh-keygen在 Ubuntu 上本地运行的不匹配(例如,实现不同)。

    2a.这样做scp只是我认为可以测试的一种方式。

问题的关键是:在我告诉它“是”我会接受之前,如何确认 ssh ui 显示的指纹是正确的?

指纹局部视图(大约): "2048 SHA256:NPAULv10 **** lic4QQ [email protected] (RSA)"

远程查看指纹(使用Win PuTTy): "The new rsa2 key fingerprint is: ssh-rsa 2048 ce:e9:43 **** :cb"

远程查看指纹(使用CentOS6&7终端):“2048 ce:e9:43 **** :cb” 文件名(RSA)

笔记:

  1. 远程查看的指纹中有冒号。
  2. bubblebabble 摘要(来自-B)是匹配的,但它们不是指纹。
  3. 本地(ssh-keygen -lf/etc/ssh*.pub:*dsa_key.pub、*ecdsa_key.pub、*ed25519_key.pub 和 *rsa_key.pub)也没有输出与远程看到的指纹匹配的内容。
  4. 我可能忽略了一些东西,我确实检查了 std 手册页、ubuntu 文档...不知道我错过了什么。

答案1

使用开关-E切换到ssh-keygen

ssh-keygen -l -f -E md5

这在最新的 OpenSSH 版本中可用,并打印“旧”MD5 指纹,与 PuTTY 相同。

相关内容