#########

修改后的:

##

# tail -f -n 20 sshd_config
#MaxStartups 10:30:60
#Banner /etc/issue.net

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes
ClientAliveInterval 30
ClientAliveCountMax 3860000

########

SSH连接自动断开的解决方法

ClientAliveInterval  30
ClientAliveCountMax  60
 
 

使用SSH连接远程服务器时,如果长时间不操作,SSH连接上就没有数据传输,此时连接会自动断开,常见的错误提示是:

1
Write failed: Broken pipe

这种超时断开机制估计是出于安全考虑设计的,不过这也会对正常使用造成一定影响,需要进行一些设置来避免这一问题。

核心思路就是定时发送心跳包,这样就可以保证连接上始终有数据传输,就不会触发超时断开了。客户端ssh和服务器端sshd均支持此功能,只需要配置一下就可以了,以下方法选择其一即可。

服务器端配置

如果在服务器端进行配置的话,所有连接到此服务器的会话都会产生效果。

修改/etc/ssh/sshd_config文件,在其中添加一行:

1
ClientAliveInterval  30

这样服务器端每隔30s就会向客户端发送一个keep-alive包,以此保持连接不会断开。还可以指定发送keep-alive包的最大次数:

1
ClientAliveCountMax  60

若发送了60个keep-alive包后客户端依然没有响应,则断开SSH连接,如果不指定此参数的话会一直发送下去,也就是永远不断开连接。

客户端配置

如果没有服务器端的权限,也可在客户端进行配置,这样这个客户端所发起的所有会话都会产生效果。

修改/etc/ssh/ssh_config文件,与服务器端配置类似,添加以下两个参数即可:

1
2
ServerAliveInterval  
ServerAliveCountMax

此时就是客户端定时向服务器端发送keep-alive包。

会话配置

如果不希望或不能修改配置文件,也可以在每次建立SSH连接时通过-o参数指定当前会话配置:

1
ssh -o ServerAliveInterval=30 root@192.168.1.1

参考资料:
ssh连接linux服务器不断开- “Write failed: Broken pipe”

本文标题:SSH连接自动断开的解决方法

文章作者:码农半亩地

发布时间:2017-01-10, 16:53:56

最后更新:2019-09-17, 19:46:27

原始链接:https://gaomf.cn/2017/01/10/SSH_Broken_Pipe/

许可协议: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

SSH连接自动断开的解决方法(deb/rpm)的更多相关文章

  1. secureCRT自动断开的解决方法

    转: secureCRT自动断开的解决方法 secureCRT自动断开的解决方法 在secureCRT上登录时,一段时间不用的话会自动断开,必须重新连接,有点麻烦. 有时候服务器端的 /etc/pro ...

  2. linux ssh连接自动断开问题

    场景描述:云上的虚拟机使用public ip连接ssh时,一直提示已经连接,但是就会自动关闭 1. 通过正常虚拟机作为跳板,能够连接到目标机子上,检查发现进程正常,但是就一直连接不上 [root@te ...

  3. Putty CentOS SSH 总是自动断开连接

    /********************************************************************** * Putty CentOS SSH 总是自动断开连接 ...

  4. 解决Linux下SSH超时自动断开

    title: 解决Linux下SSH超时自动断开 comments: false date: 2019-08-19 19:22:55 description: Linux 下 SSH 超时自动断开?? ...

  5. Solaris10 如何设置空闲ssh连接超时断开

    在ssh的配置文件中有2个参数可以控制空闲连接超时断开.这2个参数是ClientAliveCountMax和ClientAliveInterval. Solaris10上设置空闲ssh连接超时断开的方 ...

  6. winxp系统连接服务器丢包解决方法

    winxp系统连接服务器丢包解决方法 MFC编写一个打开网页的程序,发生异常没有获取到数据. 分析步骤: 1. 用getLastError()获取到的信息,(2)- 系统找不到指定的文件. 2. 用浏 ...

  7. Win10 连接L2TP VPN 失败解决方法

    Win10 连接L2TP VPN 失败解决方法 iOS系统不知道在什么时候,已经不支持PPTP VPN.偶尔的机会刚好看到github上的一键式VPN服务器部署脚本setup-ipsec-vpn,就在 ...

  8. 使用VMware Converter Standalone Client进行虚拟机 P2V提示 权限不足,无法连接\\ip\admin$的解决方法集锦

    使用VMware vCenter Converter Standalone Client进行虚拟机 P2V提示 权限不足,无法连接\\ip\admin$的解决方法集锦 步骤一 检查 远程桌面到&quo ...

  9. 【常见的SQL Server连接失败错误以及解决方法】

    [常见的SQL Server连接失败错误以及解决方法] http://blog.csdn.net/feixianxxx/article/details/5523922 ADO连接SQL Server ...

随机推荐

  1. kubernetes CRD

    官方文档:https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions ...

  2. Tomcat集群 Nginx负载均衡 shell脚本实时监控Nginx

    第一步,安装Tomcat 系统环境:Centos7 第1步:下载tomcat安装包 tomcat官网:https://tomcat.apache.org/ 第2步:安装包上传至linux中 第3步:下 ...

  3. Floyd算法C++实现与模板题应用

    简介 Floyd算法算是最简单的算法,没有之一. 其状态转移方程如下map[i , j] =min{ map[i , k] + map[k , j] , map[i , j] }: map[i , j ...

  4. 微服务的进程间通信(IPC)

    微服务的进程间通信(IPC) 目录 微服务的进程间通信(IPC) 术语 概述 通信视角 APIs 消息格式 RPC REST gRPC 断路器 API通信的健壮性 服务发现 异步消息 概念 消息 消息 ...

  5. 你已经用上 5G 网络了吗?

    随着各大手机厂商陆续推出 5G 手机,智能手机全面迎来 5G 浪潮.可能有人会发问:如此推崇 5G,5G 能为我们带来什么,我们的生活又会因此而改变多大呢? 什么是 5G? 简单地说,5G 就是第五代 ...

  6. vue 回顾

    ①.组件的注册 全局注册: // 注册 Vue.component('my-component', { template: '<div>A custom component!</di ...

  7. POJ 1386 欧拉路的判定

    题意:       给你n个单词,问你有没有一种排列方式可以所有单词的首部是相邻单词的尾部. 思路:       这个题目还挺基础的,就是个欧拉的判定,首先对于每一个单词,我们把他抽象成边,每个单词两 ...

  8. hdu4122 制作月饼完成订单的最小花费

    题意:       有一个加工厂加工月饼的,这个工厂一共开业m小时,2000年1月1日0点是开业的第一个小时,每个小时加工月饼的价钱也不一样,然后每个月饼的保质期都是t天,因为要放在冰箱里保存,所以在 ...

  9. python 压缩模块大杂烩(zipfile,bz2,lzma,gzip,tarfile,zlib)

    [*] 以下压缩模块请结合python的官方文档(https://docs.python.org/3.5/library/index.html)来实践或者对比(我的是python 3.5) 1.pyt ...

  10. Django中的表单

    目录 表单 Django中的表单 用表单验证数据 自定义验证 表单 HTML中的表单是用来提交数据给服务器的,不管后台服务器用的是 Django  还是 PHP还是JSP还是其他语言.只要把 inpu ...