新版OpenSSH客户端使用md5方式生成服务器端证书指纹Hash值(FingerprintHash)

新版的OpenSSH客户端修改了指纹Hash方式,例如:

# ssh 192.168.10.229 -p 2222 -l root
The authenticity of host \'[192.168.10.229]:2222 ([192.168.10.229]:2222)\' can\'t be established.
ECDSA key fingerprint is SHA256:TosANrD9LxFcgw4i9u1dE837g2LnGabdNXXpjz7USKw.
Are you sure you want to continue connecting (yes/no)?

如果我们服务端不支持生成TosANrD9LxFcgw4i9u1dE837g2LnGabdNXXpjz7USKw这样的指纹,那么我们就无法做对比了(无法确认是否有中间人攻击)。一个妥协的方法,是让客户端以旧版md5方式产生证书的Hash,命令如下:

# ssh 192.168.10.229 -p 2222 -l root -o FingerprintHash=md5
The authenticity of host \'[192.168.10.229]:2222 ([192.168.10.229]:2222)\' can\'t be established.
ECDSA key fingerprint is MD5:dd:7d:0e:71:f0:2b:6a:87:89:d3:63:1c:2d:61:11:0c.
Are you sure you want to continue connecting (yes/no)?

这样就与服务端ssh-keygen -lf xxx.pub生成的指纹格式一样了。

发表评论

电子邮件地址不会被公开。