一个ssh无法远程登录的问题跟踪解决

用户反馈龙芯服务器系统loongnix-server使用root用户ssh远程登录,有时候可以有时候又无法登录,频繁出现错误:Permission denied,please try again。我分析可能是防火墙拦截,也可能是登录连接数达到限制,无法接入新的连接,后去掉防火墙直连还是出现问题,查看日志:

复制代码
cat /var/log/secure|grep root
发现有如下信息:
pam tally2(login:auth): user root (0) tally 30, deny 3 

日志发现是触发了PAM的限制而导致机器不能登录,限制用户登录次数设置是防止服务器被暴力破解的有效手段,在生产环境通常都会设置,一旦触发,所登录的用户就不能进行登录,直到符合规则上的 锁解时间才可以进行再次登录。

用户下次在登录成功后可以执行一下pam_tally2 -u root -r把错误次数清空一下,就会重新累计登录错误次数,执行完成后再次登录一般会提示如下信息:

复制代码
There were 5 failed login attempts since the last successful login

执行pam_tally2 -u root可以查看已经累计的错误次数;

可以通过修改配置文件/etc/pam.d/sshd设置登录次数和触发锁定用户机制后的解绑时间,配置信息如下:

复制代码
head -1 /etc/pam.d/sshd
auth required pam_tally2.so deny=3 unlock_time=300 even_deny_root root_unlock_time=300

deny=3 表示尝试登录次数,超过3次后会执行后续动作,单位为秒
even_deny_root 对root也开启此限制

该配置必须添加到/etc/pam.d/sshd文件最上方,否则不起作用;

PS: pam_tally2 模块资料:

pam tally2模块用于记录用户登录失败的次数,并在达到一定的闻值后禁止用户继续尝试登录。它是种安全措施,可以帮助保护系统免受恶意攻击

pam tally2模块分为两部分,一部分是pam tally2.so,另一部分是pam tally2。它基于PAM模块可用于检查和操作计数器文件。它可以显示用户登录尝试次数,单独设置计数,也可清除计数,解锁所有用户登录锁定。

相关推荐
执笔仗剑天涯6 小时前
CentOS 7上离线安装Claude Code
linux·centos·claude code
南境十里·墨染春水6 小时前
linux学习进展 mysql数据库
linux·数据库·学习
liuluyang5306 小时前
linux kernel CONFIG_FHANDLE解析
linux·运维·服务器
2601_958320576 小时前
【详细版教程】Windows/macOS/Linux 安装 OpenClaw 2.6.6 指南(包含安装包)
linux·运维·windows·macos·小龙虾·open claw一键安装
HackTwoHub7 小时前
可视化未授权访问批量探测工具、支持批量目标、并发扫描、SOCKS5 全局代理、CSV 导出
linux·windows·macos·网络安全·网络攻击模型
ACP广源盛139246256737 小时前
磐石 100 :IX6012 :ASM1812@ACP#国产 PCIe 2.0 交换芯片,轻量级算力扩展应用分享
大数据·linux·运维·网络·人工智能·嵌入式硬件·电脑
A-刘晨阳7 小时前
K8s之负载均衡
linux·运维·容器·kubernetes·负载均衡
学困昇7 小时前
彻底搞懂 Linux 基础 IO:文件描述符、重定向、dup2、缓冲区一次讲透!
linux·运维·服务器·开发语言·c++
xiaoye-duck7 小时前
《Linux系统编程》Linux指令 (三):从零开始理解Linux基础指令
linux
hecgaoyuan8 小时前
解决使用Nvidia Jetson Nano嵌入式系统远程桌面不能操作的问题
linux