Anr*_*nro 7 encryption ssh openssh
查看 sshd_config 的手册页,我看到了密码、密钥交换 (KEX) 和 MAC 的默认算法列表。在我的设置中,我选择了这些算法的一个子集来使用(即我不想允许旧算法或弱算法)。我想知道的;协商算法的顺序是什么?
我知道客户端和服务器必须就使用哪种算法达成一致。但是该列表是否需要从最喜欢的 -> 最不喜欢的顺序排列?或者反过来?手册页中的列表似乎首先按算法组排序,首选组在前,但在每个组中,算法似乎从最不喜欢到最喜欢排序。
基本上,我的问题归结为,客户端和服务器会协商他们都支持的“最强”算法(其中“最强”是在 OpenSSH 内部定义的),还是会在(服务器和客户端)中选择第一个/最新的算法支持的算法列表?
如何判断为给定连接协商了哪些算法?我已经用 -v -v -v 运行了 ssh,我看到 kex_parse_kexinit 有很多溢出。但是我无法从那次喷涌中判断出采用哪种算法。
谢谢
您可以在RFC 4253 第 7.1 节中查看有关如何协商各种算法的更精确的详细信息,但基本上:
ssh_config
中(或用户的~/.ssh/config
)和 中的算法sshd_config
按偏好从高到低排列。密码和 MAC 算法确实显示在详细输出中,例如
debug1: kex: server->client aes128-ctr umac-64@openssh.com zlib@openssh.com
debug1: kex: client->server aes128-ctr umac-64@openssh.com zlib@openssh.com
Run Code Online (Sandbox Code Playgroud)
最后我检查了一下,OpenSSH 并没有说明它选择的确切 Kex 算法。也许这种情况将来会改变。
归档时间: |
|
查看次数: |
3753 次 |
最近记录: |