升级SSH密钥使用ED25519
2021-04-25 • 预计阅读时间 1 分钟
2021-04-25 • 预计阅读时间 1 分钟
近日OpenSSH
发布了最新的OpenSSH 8.6/8.6p1 (2021-04-19)。由于对SHA-1算法的碰撞攻击的成本已经低于5万美元。之前的版本中ssh-rsa
使用的是sha-1
哈希算法与RSA
公钥算法结合使用。新的版本中完全禁止了。另外还提供了UpdateHostKeys
的选项来升级使用旧算法的密钥。
官方推荐了三种算法的密钥
since 7.2
since 6.5
since 5.2
最后选择使用了ED25519
。一个是支持的版本比较广,对于一些旧的机器支持相对好一些。ED25519
公钥更为紧凑,仅68个字符。生成密钥和签名的过程都非常快,使用ED25519
进行批量签名验证也很快。它是为防碰撞而设计的,防哈希冲突。
ssh-keygen -o -a 100 -t ed25519 -f ~/.ssh/id_ed25519 -C "admin@wentao.org"
参数说明:
-o
: 使用新的OpenSSH格式来存储私钥,当使用ED25519格式时,默认会启用此选项-a
: 进行几轮KDF。值越大则密码验证越慢,也能更好的抗暴力破解。-t
: 创建的key的类型,我们使用ED25519-f
: 生成的文件名-C
: 可选注释,通常写自己的邮箱或者是备注信息用来区分密钥已经把自己的机器都升级到ED25519
。