我看到一个老问题,显示ssh
连接到服务器时,会显示十六进制指纹。
为什么现在以base64格式给出?有什么好处?
我知道MD5
坏了,现在默认是sha256
,但是对于指纹格式,base64 编码和十六进制字符串是/表示相同的事情。那么改变格式有什么好处呢?
改变的不仅仅是输出格式,还有用于生成指纹的算法。以前是MD5,现在是SHA256。MD5在很多方面都被打破了,一般建议使用SHA256之类的。这样的改变早就到来了。
从发行说明:
将 FingerprintHash 选项添加到
ssh(1)
和sshd(8)
,并将等效的
命令行标志添加到其他工具以控制用于关键指纹的算法。默认值从 MD5 更改为 SHA256,格式从十六进制更改为 base64。指纹现在具有哈希算法。
新格式的示例:SHA256:mVPwvezndPv/ARoIadVY98vAC0g+P/5633yTC4d/wXE
请注意,可视主机键也将有所不同。
您仍然可以获得旧的输出:
ssh -o FingerprintHash=md5 ...
Run Code Online (Sandbox Code Playgroud)
SHA256 哈希有 256 位输出,转换为 64 个十六进制字符。这是 32 个字符的 MD5 哈希的十六进制长度的两倍。Base64 编码的 SHA256 字符的长度只有 44 个字节(并且最后一个=
用于填充的字符无论如何都被省略了)。
归档时间: |
|
查看次数: |
2883 次 |
最近记录: |