插件窝 干货文章 Linux服务器的SSH连接断开问题如何解决?

Linux服务器的SSH连接断开问题如何解决?

SSH 断开 服务器 检查 845    来源:    2025-04-17

Linux服务器SSH连接断开问题解决方案

常见原因分析

SSH连接断开通常由以下几种原因导致: 1. 网络不稳定或超时 2. 服务器或客户端防火墙设置 3. SSH服务配置问题 4. 客户端或服务器资源限制 5. 长时间无操作的超时断开

解决方案

1. 检查网络连接

ping 服务器IP地址
traceroute 服务器IP地址
  • 确认网络连通性
  • 检查是否有丢包或高延迟

2. 调整SSH客户端配置

在客户端~/.ssh/config文件中添加:

Host *
    ServerAliveInterval 60
    ServerAliveCountMax 5
    TCPKeepAlive yes

这些设置会: - 每60秒发送一次保持活动信号 - 最多尝试5次失败后才断开 - 启用TCP保持活动机制

3. 修改服务器端SSH配置

编辑/etc/ssh/sshd_config

sudo nano /etc/ssh/sshd_config

修改或添加以下参数:

ClientAliveInterval 60
ClientAliveCountMax 5
TCPKeepAlive yes
LoginGraceTime 120

然后重启SSH服务:

sudo systemctl restart sshd

4. 检查防火墙设置

sudo iptables -L -n  # 查看iptables规则
sudo ufw status      # 查看UFW防火墙状态

确保没有规则阻断SSH连接(默认端口22)

5. 检查资源限制

查看系统日志:

sudo tail -f /var/log/auth.log
sudo dmesg | grep -i ssh

检查是否有OOM(内存不足)杀死进程的情况

6. 使用终端复用工具

安装tmux或screen保持会话:

sudo apt install tmux  # Debian/Ubuntu
sudo yum install tmux  # CentOS/RHEL

# 使用示例
tmux new -s mysession

高级排查

如果以上方法无效,可以尝试: 1. 使用不同网络环境测试 2. 更换SSH端口测试 3. 启用详细日志模式:ssh -vvv user@host 4. 检查服务器负载:top, htop, vmstat

希望这些解决方案能帮助您解决SSH连接断开的问题。如需更具体的帮助,请提供详细的错误信息和环境配置。