在openssh…中偶然发现了一个错误。在sshd_config中进行了小小的配置更改,并使用可解析的…进行了部署。并且立即失去了与所有这些盒子的连接,…。当然,我在重新加载sshd守护进程之前进行了配置检查,配置检查没有问题。
我不敢相信以前没有别人发现过这个,因为它真的很容易复制。它与openbsd、debian、centos一起工作,并且主要在所有已经实现了opensshd的系统上工作(这是大量的…)。
只需将以下行添加到sshd_config中,执行配置检查并重新启动sshd。您将无法通过ssh登录老化!
您需要控制台和root登录/密码(或者在单用户模式下执行一些恢复过程)才能修复此问题!
问题是您配置的是主机地址,而不是网络地址。配置检查器无法识别这一点,但sshd守护进程本身无法识别。
IPv6也是如此。我们都不太熟悉V6上的子网计算,是吗?
很难说。可能是8.3版之前的所有OpenSSH实现(包括该版本)。所以,您的所有SSH箱都肯定会受到…的影响。
在config-test模式下解析时,检查提供给Match Address和MatchLocalAddress的地址是否有效。这将在运行时地址/掩码不匹配导致问题之前捕获它们。由Daniel Stocker创建,ok djm@。
因此,您想了解更多关于ssh的内容,特别是配置语句,请阅读手册页,或者我可以推荐Michael w.Lucas的“SSH掌握:OpenSSH、PuTTY、隧道和密钥”一书。
最后但并非最不重要的一点是,我向社区报告了这个错误,他们在3小时内修复了它!非常感谢OpenBSD社区(他们负责OpenSSH守护进程),并特别感谢Darren Tucker的快速反应和修复。
因此,在不久的将来(以及更长的将来),我会认真关注我的网络声明,您也应该这样做!