欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

SSH的 Write failed: Broken pipe 问题

程序员文章站 2022-04-28 19:13:40
问题现象: 表示连接管道已经断开 解决方法: 方法一:客户端配置 在客户端的 ~/.ssh/ config文件(如不存在请自行创建)中添加下面内容: ServerAliveInterval 60 方法二:服务器端配置 在服务器的 /etc/ssh/sshd_config 中添加如下的配置: Clie ......

问题现象:

  SSH的 Write failed: Broken pipe 问题

 

 

   表示连接管道已经断开

 

解决方法:  

  方法一:客户端配置
  在客户端的 ~/.ssh/ config文件(如不存在请自行创建)中添加下面内容:
  serveraliveinterval 60

  方法二:服务器端配置
  在服务器的 /etc/ssh/sshd_config 中添加如下的配置:
  clientaliveinterval 60

  方法三:临时ssh命令配置
  如果只是临时性的连接(即只作用于当前ssh),可以直接使用 ssh 命令参数进行配置。
  $ ssh -o serveraliveinterval=60 user@sshserver

//serveraliveinterval
         sets a timeout interval in seconds after which if no data has
         been received from the server, ssh(1) will send a message through
         the encrypted channel to request a response from the server.  the
         default is 0, indicating that these messages will not be sent to
         the server.  this option applies to protocol version 2 only.
//clientaliveinterval
         sets a timeout interval in seconds after which if no data has
         been received from the client, sshd(8) will send a message
         through the encrypted channel to request a response from the
         client.  the default is 0, indicating that these messages will
         not be sent to the client.  this option applies to protocol
         version 2 only.

  这两个命令前者应用在客户机上,后者应用在服务器上,如果没有管理员权限,那么前者是很好的选择。
  这两个的功能是相同的,都是开启一个发送keep-alive包的功能,这样会允许客户端/服务器在一定时间内发送一个特定的包给对方,一旦超时,则说明断线,就关闭链接。这样就避免了链接长时间挂着导致报错。而且,一旦再次报错,稍等片刻便可以再次登录。