sshd_config 中的 RekeyLimit 属性是否强制重新键入/重新交换密钥?

信息安全 SSH 密钥管理 打开sh
2021-09-05 05:00:16

我已设置RekeyLimit属性sshd_config并尝试执行 SSH。但是,我在详细日志中看不到重新生成密钥,我所看到的只是会话开始时下面的日志消息(在我的 sshd 服务器日志中)。

debug3: rekey after 2048 bytes, 0 seconds [preauth]

只有在RekeyLimit我的 SSH 客户端 ( ssh_config) 上启用或使用 ~R 时,我才能看到与密钥更新活动有关的日志。

这是预期的吗?RekeyLimit财产不应该sshd_config强制重新加密吗?

我正在使用 OpenSSH 6.7。

1个回答

实际上,这是一个非常有趣的问题。我不得不研究它,它实际上是如何工作的。正如您所描述的那样,使用直接启动密钥更新~R工作正常,这是预期的。如果客户端强制重新生成密钥,它也可以工作,但服务器端会以某种方式被抑制。在代码中,这个变量的处理没有特别注意,如果我是对的,客户端提供覆盖服务器的设置,这可能不是故意的,并且可能是openssh-unix-dev list上有趣的话题,如果没有更好的回答。

它没有在RFC4253中指定,应该如何处理,所以它是实现细节。

然而,更新密钥不应该比默认更频繁,因为它源于 MAC 序列号包装[RFC4251]

编辑:重新输入密钥进行了一些修改,在openssh-7.2中应该工作得更好。