避免SSH连接因超时闲置断开

出自Linux Wiki

在2012年2月5日 (日) 03:14由Chenxing (讨论 | 贡献)所做的修订版本
(差异) ←上一修订 | 最新修订 (差异) | 下一修订→ (差异)
提示:此文已超过 12 年(4466 天)未更新,如发现内容过时或有误,欢迎改进:)

SSH过程连接电脑时,经常遇到长时间不操作而被服务器踢出的情况,常见的提示如:

Write failed: Broken pipe

这是因为如果有一段时间在SSH连接上无数据传输,连接就会断开。解决此问题有两种方法。[1]

方案一:在客户端设置

方法很简单,只需在客户端电脑上编辑(需要root权限)/etc/ssh/ssh_config,并添加如下一行:

ServerAliveInterval 60

此后该系统里的用户连接SSH时,每60秒会发一个KeepAlive请求,避免被踢。

方案二:在服务器端设置

如果有相应的权限,也可以在服务器端设置,即编辑/etc/ssh/sshd_config,并添加:

ClientAliveInterval 60

重启SSH服务器后该项设置会生效。每一个连接到此服务器上的客户端都会受其影响。应注意启用该功能后,安全性会有一定下降(比如忘记登出时……)

参考资料

  1. How to fix ssh timeout problems(英)

本文对您有帮助?分享给更多朋友!

反馈与讨论

发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。
个人工具
简体繁体转换