机器人不知疲倦地尝试使用 ssh 登录我的服务器。这并不困扰我,因为我的密码很好,但我不喜欢 ssh 垃圾邮件填满 journald 日志。我想过滤掉这些噪音。请注意,我不想施加任何额外的限制,如更改 ssh 端口、限制输入 IP 地址等。
我的操作系统是 CentOS 8,已更新至最新版。
以下是典型的日志(来自journalctl -f
):
Apr 13 17:03:29 msk.vbezhenar.com sshd[14305]: Invalid user jhall from 51.132.145.250 port 46022
Apr 13 17:03:29 msk.vbezhenar.com sshd[14305]: pam_unix(sshd:auth): check pass; user unknown
Apr 13 17:03:29 msk.vbezhenar.com sshd[14305]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=51.132.145.250
Apr 13 17:03:32 msk.vbezhenar.com sshd[14305]: Failed password for invalid user jhall from 51.132.145.250 port 46022 ssh2
Apr 13 17:03:33 msk.vbezhenar.com sshd[14305]: Received disconnect from 51.132.145.250 port 46022:11: Bye Bye [preauth]
Apr 13 17:03:33 msk.vbezhenar.com sshd[14305]: Disconnected from invalid user jhall 51.132.145.250 port 46022 [preauth]
Apr 13 17:03:46 msk.vbezhenar.com unix_chkpwd[14310]: password check failed for user (root)
Apr 13 17:03:46 msk.vbezhenar.com sshd[14308]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=51.68.44.74 user=root
Apr 13 17:03:48 msk.vbezhenar.com sshd[14308]: Failed password for root from 51.68.44.74 port 44088 ssh2
Apr 13 17:03:48 msk.vbezhenar.com sshd[14308]: Received disconnect from 51.68.44.74 port 44088:11: Bye Bye [preauth]
Apr 13 17:03:48 msk.vbezhenar.com sshd[14308]: Disconnected from authenticating user root 51.68.44.74 port 44088 [preauth]
因此每次尝试都会有5-6行日志。
LogLevel ERROR
我设法使用in删除了几行/etc/ssh/sshd_config
,但我并不完全喜欢这个解决方案,因为我想看到来自 ssh 的信息消息,而不是那些关于登录尝试失败的消息。而且它仍然没有删除所有行,更改后的日志:
Apr 13 18:07:46 msk.vbezhenar.com unix_chkpwd[15522]: password check failed for user (root)
Apr 13 18:07:46 msk.vbezhenar.com sshd[15520]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=201.48.4.15 user=root
Apr 13 18:07:55 msk.vbezhenar.com sshd[15523]: pam_unix(sshd:auth): check pass; user unknown
Apr 13 18:07:55 msk.vbezhenar.com sshd[15523]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=176.107.131.9
所以每个日志仍然有2行。
因此,理想情况下,我的问题是如何仅删除有关身份验证失败的行,而其他日志应保持完整。如果不可能,那么我想知道如何从 pam_unix 中删除未通过设置删除的那 2 行LogLevel ERROR
。