服务器端配置(/etc/ssh/sshd_config):
ClientAliveInterval 60 # 服务器每60秒发送一次保持活动消息
ClientAliveCountMax 3 # 连续3次无响应才断开连接
客户端配置(~/.ssh/config或/etc/ssh/ssh_config):
ServerAliveInterval 60 # 客户端每60秒发送一次保持活动消息
ServerAliveCountMax 3 # 连续3次无响应才断开连接
修改后重启SSH服务:
sudo systemctl restart sshd
tmux或screen可以保持会话:
# 安装tmux
sudo apt install tmux # Debian/Ubuntu
sudo yum install tmux # CentOS/RHEL
# 使用示例
tmux new -s mysession # 创建新会话
# 断开后重新连接
tmux attach -t mysession
使用ping
和mtr
检查网络稳定性:
ping your.server.com
mtr --report your.server.com
确保服务器有足够资源:
free -h # 查看内存
df -h # 查看磁盘空间
top # 查看CPU和进程
检查iptables/nftables/ufw设置:
sudo iptables -L -n # 查看iptables规则
sudo ufw status # 查看UFW防火墙状态
autossh工具自动重连:
# 安装autossh
sudo apt install autossh
# 使用示例
autossh -M 0 -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" user@host
查看SSH连接日志定位问题:
sudo tail -f /var/log/auth.log # Debian/Ubuntu
sudo tail -f /var/log/secure # CentOS/RHEL
通过以上方法,可以显著减少SSH连接中断问题,提高远程工作的稳定性和效率。