:client_loop: send disconnect: Broken pipe
在某些系统上,它将显示“写入失落败:管道破坏”或“连接被远程主机关闭”。
让我们看看是什么导致此缺点,以及如何使SSH连接保持活动状态。
由于连接不生动,以是ssh关闭了连接,常日默认是5分钟。

为避免SSH会话断开连接,可以在特定时间间隔从做事器向客户端(ClientAliveInterval)或从客户端向做事器(ServerAliveInterval)发送“活动” 。
这样,可以使SSH会话保持活动状态,由于客户端和做事器之间存在通信,并且做事器可以理解客户端仍旧存在。
现在,有两种方法可以做到这一点。您可以将活动从客户端发送到做事器,或者从做事器发送到客户端。
如果通过SSH连接到多台做事器,请在您的打算机上进行设置。如果是系统管理员,并且有几个用户抱怨SSH连接频繁断开,则可以在做事器上进行设置。方法1:客户端SSH配置变动假设想通过最多10分钟(600秒)的空闲韶光来保持SSH连接的活动状态。
通过SSH连接到远程Linux系统时,可以这样设置以下ServerAliveInterval值:
ssh -o ServerAliveInterval=600 username@server_ip_address
现在,此功能可以正常事情,但是每次连接到做事器时手动输入此选项很麻烦。为什么不将其永久化?
如果您感到
echo "ServerAliveInterval 600" >> ~/.ssh/config
这会将您将利用的所有SSH连接的ServerAliveInterval值设置为10分钟。如果须要,请考试测验一下。
如果您想使其更得当,则应如下添加:
Host ServerAliveInterval 600
方法2:做事器端SSH配置变动
做事器的SSH配置文件常日位于/etc/ssh/sshd_config
如果打开此文件,能看到以下两个参数
ClientAliveInterval: 这是不活动的韶光段,在该韶光段之后,做事器将向ssh连接的客户端发送活动。ClientAliveCountMax:这是做事器将重试发送活动的次数。ClientAliveInterval设置为200秒,把ClientAliveCountMax设置为3。做事器将在200s后发送活动,若客户端无回应,400s后再发送一次,600s再发送一次,若客户端无相应,ssh连接断开
编辑/etc/ssh/sshd_config文件。查找ClientAliveInterval和ClientAliveCountMax条款。删除行开头的#键,并为其指定适当的值。
保存并退出文件。
请勿将SSH连接超时设置为几个小时,那将摧残浪费蹂躏资源。