SSH偶现拒绝访问问题,报错:Not allowed at this time
问题现象
执行SSH命令连接Notebook时,一直报错:Not allowed at this time。
debug1: kex_exchange_identification: banner line 0: Not allowed at this time kex_exchange_identification: Connection closed by remote host

原因分析
存在攻击者通过持续暴力破解SSH服务端触发段错误(libnss_systemd.so.2),导致服务端进入90秒拒绝服务状态,正常用户无法访问。具体流程如下:
- 用户的Notebook SSH地址被其他用户频繁访问,且访问时未携带用户名,例如:ssh hosts.com -p 3333。
- 用户使用的自定义镜像中包含不兼容的libnss_systemd.so.2文件,且/etc/nsswitch.conf配置了使用systemd方式进行用户信息校验。当SSH服务端在处理未携带用户名的连接请求时,触发了段错误。
- 频繁执行SSH连接命令,SSH服务端在段错误后进入90秒的拒绝服务状态,导致服务长时间无法访问。
解决方案
- 修改自定义镜像中/etc/nsswitch.conf配置文件,删除systemd并保存。
- 修改前:
图2 配置文件(含systemd)示例
- 修改后:
图3 配置文件(不含systemd)示例
修改内容说明:
passwd: files:指定系统从本地文件(如/etc/passwd)中读取用户信息。
group: files:指定系统从本地文件(如/etc/group)中读取组信息。
- 修改前:
- 90秒后重试SSH连接,即可恢复正常。