![SSH 日志中的“正常关机,感谢您玩 [preauth]”是什么意思?](https://linux22.com/image/622178/SSH%20%E6%97%A5%E5%BF%97%E4%B8%AD%E7%9A%84%E2%80%9C%E6%AD%A3%E5%B8%B8%E5%85%B3%E6%9C%BA%EF%BC%8C%E6%84%9F%E8%B0%A2%E6%82%A8%E7%8E%A9%20%5Bpreauth%5D%E2%80%9D%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D%EF%BC%9F.png)
最近,我的 Ubuntu 12.04 服务器在 Logwatch 中的 SSH 日志摘要开始显示“11:正常关机,感谢您参与 [preauth]”的条目,以及之前显示的“11:再见 [preauth]”和“11:用户断开连接”消息。
在过去几周之前,我没有在日志中看到过此消息,也没有在停留在 Ubuntu 10.04 上的旧服务器上看到过此消息。我在 Google 上搜索过此消息,也没有找到任何明确的解释。
尝试登录并接收此消息的 IP 是随机黑客尝试,并且从预授权判断我假设(希望)它们不会成功,但我想确切地知道此消息的含义以及它与其他消息有何不同,以确保万无一失。
编辑以获取更多信息:我的服务器已禁用密码验证和根验证
答案1
当 ssh 客户端“正常”关闭连接时,它会发送一个包含消息的数据包。当 ssh 守护进程意外收到这样的数据包时(在本例中,是在用户设法进行身份验证之前),它会记录该消息。(旧版本的 OpenSSH 不会这样做。)所以您的推测完全正确:这是暴力破解 ssh 密码猜测攻击的副作用。您可能应该运行类似 fail2ban 或 sshguard 的程序来在 iptables 中阻止这些攻击;即使您认为一切都正确配置为禁止密码,也最好有第二层防御。
答案2
接受的答案是正确的,但我想我会发布这个答案来补充它,并解释为什么管理员以前没有在他们的日志文件中看到这样的消息。
2014 年 1 月,OpenSSH 开发者列表上讨论了这个问题。根据Damien Miller,OpenSSH 开发人员,
这个信息基本上一直都在那里:
1.41 (markus 02-Jan-01): log(“收到来自 %s 的断开连接:%d:%.400s”, ...
唯一最近发生的变化是,我们在 5.9 版本中改进了 privsep 模式下预认证消息的记录,不再需要在
/dev/log
privsep chroot 内部。如果您的旧 OpenSSH 版本低于 5.9,并且/var/empty
chroot 中没有,/dev/log
那么您可能错过了这些消息。
答案3
自从最近升级我的服务器上的 open-ssh 包以来,我也在日志文件中注意到了这些消息。
不过,我认为这些消息不一定意味着黑客企图。有些短语被硬编码到合法的 ssh 客户端中,可能是原始开发代码的残留。例如,当我断开与自己服务器的连接时,我的 iOS ssh 客户端 (iSSH) 就会发出此短语。