问题表现:SSH连接空闲一段时间后自动断开
解决方案:
# 客户端配置 (~/.ssh/config)
Host *
ServerAliveInterval 60
ServerAliveCountMax 3
# 服务端配置 (/etc/ssh/sshd_config)
ClientAliveInterval 60
ClientAliveCountMax 3
TCPKeepAlive yes
解决方法:
# 临时解决方案
unset TMOUT
# 永久解决方案(修改以下文件)
/etc/profile
/etc/bashrc
~/.bash_profile
~/.bashrc
# 查找并注释或删除 TMOUT=* 相关行
检查文件:
- /etc/security/access.conf
- /etc/security/limits.conf
示例:允许特定用户组访问
# /etc/security/access.conf
+ : wheel : ALL
- : ALL : ALL
检查iptables/nftables规则:
sudo iptables -L -n
sudo nft list ruleset
检查文件:
- /etc/hosts.allow
- /etc/hosts.deny
sudo passwd -S username
sudo faillock --user username
sudo passwd -u username
sudo faillock --user username --reset
检查相关日志获取更多信息:
# 认证日志
sudo tail -f /var/log/auth.log # Debian/Ubuntu
sudo tail -f /var/log/secure # RHEL/CentOS
# SSH日志
sudo tail -f /var/log/sshd.log
# /etc/ssh/sshd_config
Port 2222
sudo apt install fail2ban # Debian/Ubuntu
sudo yum install fail2ban # RHEL/CentOS
# 检查SELinux状态
getenforce
# 临时设置为宽松模式
setenforce 0
# 检查AppArmor状态
aa-status
如需更具体的解决方案,请提供详细的错误信息和系统环境。