• 【已解决】client_loop: send disconnect: Broken pipe|连接CentOS服务器:ssh空闲自动断开


    欢迎来到我的博客
    📔博主是一名大学在读本科生,主要学习方向是前端。
    🍭目前已经更新了【Vue】、【React–从基础到实战】、【TypeScript】等等系列专栏
    🛠目前正在学习的是🔥 R e a c t / 小程序 React/小程序 React/小程序🔥,中间穿插了一些基础知识的回顾
    🌈博客主页👉codeMak1r.小新的博客

    博主专栏【React–从基础到实战】持续更新中

    ssh空闲自动断开

    首先,我们在本机终端中使用ssh命令连接到远程服务器的时候,经常出现空闲一段时间ssh连接就断开的情况,每次都要重新输入密码,非常麻烦,而且之前连接中输入的命令也无法查看了。

    原因是,ssh连接在一段时间检测不到操作后,就会进入假死状态,超时自动断开。

    解决这个问题的方式也很简单,你既然要隔一段时间就非得检测到操作,那我就隔一段时间就去操作一次就好了。那难道这个操作需要我们自己手动操作吗?

    其实,我们可以使用心跳机制,在配置文件中设置每隔一段时间就发送一个心跳包,来维持这次的ssh连接不中断。

    解决办法

    ⇒ 客户端配置

    我们可以在我们本机上,进行客户端的配置,每隔一段时间向服务器发送一个心跳包,来维持这次的ssh连接通道不关闭。

    以macOS的terminal终端举例:

    打开terminal终端,进入/etc/ssh目录

    在这里插入图片描述
    编辑ssh_config文件,此文件为ssh的客户端配置文件。

    sudo vim ./ssh_config
    
    • 1

    ssh_config文件的最下方的Host *中新增

    ServerAliveInterval 60
    
    • 1

    vim编译器中Shift + i进入编辑模式
    编辑完成后,ESC退出编辑模式,:wq保存并退出当前文件

    在这里插入图片描述

    ServerAliveInterval 60 的含义是,每隔60s,就向ssh连接的服务器发送一个心跳包,维持ssh连接。

    上面这个方式是macOS的全局配置,如果macOS下有多个用户,只想对当前用户进行配置的话,就进入当前用户的ssh_config下修改文件即可。

    ⇒ 服务端配置

    我们可以通过ssh连接到我们的服务器上,对服务器进行配置。

    cd /etc/ssh
    
    • 1

    在这里插入图片描述

    编辑sshd_config文件,此文件为ssh服务端配置文件。

    vim ./sshd_config
    
    • 1

    查找以下注释字段取消注释或直接添加至文件最后

    ClientAliveInterval 60
    ClientAliveCountMax 3
    
    • 1
    • 2

    ClientAliveInterval 60 的含义是,每隔60s,就向ssh连接的客户端发送一个心跳包,维持ssh连接。

    ClientAliveCountMax 3的含义是,服务器发出请求后客户端没有响应的次数达到一定值,就自动断开。正常情况下,客户端不会不响应。

    client_loop: send disconnect: Broken pipe

    在进行了ssh心跳的配置后,可能相隔一段时间还会出现下面这个错误。

    client_loop: send disconnect: Broken pipe

    • 解决方案
      修改客户端的 /etc/ssh/ssh_config 配置文件
      在Host *条目下添加 IPQoS=throughput

    在这里插入图片描述

  • 相关阅读:
    Win11无法将值写入注册表项如何解决?
    Socket网络编程练习题二:客户端发送一条数据,接收服务端反馈的消息并打印;服务端接收数据并打印,再给客户端反馈消息
    国内一些镜像源
    前端面试html自检(先看问题 自己自述一遍 不会再看答案 )
    安装Anaconda之后cmd打不开
    【Java】this、super关键字,代码块介绍
    学会 Python 自动安装第三方库,从此跟pip说拜拜
    【亲测】网址引导页管理系统
    力扣 -- 1035. 不相交的线
    GIS实战应用案例100篇(七十九)-多规整合底图的制作要点
  • 原文地址:https://blog.csdn.net/Svik_zy/article/details/127652195