IQA*_*eas 9 ssh openssh rsa dsa
默认情况下,在我当前的版本 ( 6.9p1) 中,OpenSSH Server 将创建四种类型的主机密钥:
$ ls /etc/ssh/ssh_host_*_key.pub
/etc/ssh/ssh_host_dsa_key.pub
/etc/ssh/ssh_host_ecdsa_key.pub
/etc/ssh/ssh_host_ed25519_key.pub
/etc/ssh/ssh_host_rsa_key.pub
Run Code Online (Sandbox Code Playgroud)
通过测试,我注意到,至少在使用相同版本的 OpenSSH 客户端 ( 6.9p1) 时,主机将使用 ECDSA 密钥,而不管客户端的密钥类型如何。
OpenSSH 在哪里决定支持的算法具有哪个优先级?此信息是否可编辑或硬编码到当前版本的源代码中?
更重要的是,为什么 OpenSSH 决定优先考虑 ECDSA 算法?
订单由客户端使用HostKeyAlgorithms配置选项选择。我的系统上的默认值(根据联机帮助页)是:
要覆盖它,请执行以下操作:
ssh -oHostKeyAlgorithms=ssh-ed25519 user@foo.com
更重要的是,为什么 OpenSSH 决定优先考虑 ECDSA 算法?
ECDSA 是在 openssh 5.7 版本中引入的,您可以在此处找到发行说明。特别指出:
按照 RFC5656 的规定,实现密钥交换 (ECDH) 和主机/用户密钥 (ECDSA) 的椭圆曲线加密模式。在相同的等效对称密钥长度以及更短的密钥下,ECDH 和 ECDSA 比普通 DH 和 DSA 提供更好的性能。
…………
支持使用新 ECDSA 密钥类型的证书主机和用户密钥 - ECDSA 密钥可以经过认证,并且 ECDSA 密钥可以充当 CA 来签署证书。
当客户端和服务器都支持时,256 位曲线字段中的 ECDH 是首选密钥协商算法。首次学习主机密钥时,首选 ECDSA 主机密钥,或者可以使用 ssh-keyscan(1) 学习。
此外,RFC 5656指出:
许多估计认为 2^80-2^90 次操作是不可行的,因此建议使用至少 160-180 位的椭圆曲线。本文档中所需的曲线是 256 位、384 位和 521 位曲线;实现不应使用小于 160 位的曲线
| 归档时间: |
|
| 查看次数: |
9187 次 |
| 最近记录: |