SSH连接自动断开的解决方法(deb/rpm)
#########
修改后的:
##
# 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连接自动断开的解决方法
使用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 |
ServerAliveInterval |
此时就是客户端定时向服务器端发送keep-alive
包。
会话配置
如果不希望或不能修改配置文件,也可以在每次建立SSH连接时通过-o
参数指定当前会话配置:
1 |
ssh -o ServerAliveInterval=30 root@192.168.1.1 |
本文标题: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)的更多相关文章
- secureCRT自动断开的解决方法
转: secureCRT自动断开的解决方法 secureCRT自动断开的解决方法 在secureCRT上登录时,一段时间不用的话会自动断开,必须重新连接,有点麻烦. 有时候服务器端的 /etc/pro ...
- linux ssh连接自动断开问题
场景描述:云上的虚拟机使用public ip连接ssh时,一直提示已经连接,但是就会自动关闭 1. 通过正常虚拟机作为跳板,能够连接到目标机子上,检查发现进程正常,但是就一直连接不上 [root@te ...
- Putty CentOS SSH 总是自动断开连接
/********************************************************************** * Putty CentOS SSH 总是自动断开连接 ...
- 解决Linux下SSH超时自动断开
title: 解决Linux下SSH超时自动断开 comments: false date: 2019-08-19 19:22:55 description: Linux 下 SSH 超时自动断开?? ...
- Solaris10 如何设置空闲ssh连接超时断开
在ssh的配置文件中有2个参数可以控制空闲连接超时断开.这2个参数是ClientAliveCountMax和ClientAliveInterval. Solaris10上设置空闲ssh连接超时断开的方 ...
- winxp系统连接服务器丢包解决方法
winxp系统连接服务器丢包解决方法 MFC编写一个打开网页的程序,发生异常没有获取到数据. 分析步骤: 1. 用getLastError()获取到的信息,(2)- 系统找不到指定的文件. 2. 用浏 ...
- Win10 连接L2TP VPN 失败解决方法
Win10 连接L2TP VPN 失败解决方法 iOS系统不知道在什么时候,已经不支持PPTP VPN.偶尔的机会刚好看到github上的一键式VPN服务器部署脚本setup-ipsec-vpn,就在 ...
- 使用VMware Converter Standalone Client进行虚拟机 P2V提示 权限不足,无法连接\\ip\admin$的解决方法集锦
使用VMware vCenter Converter Standalone Client进行虚拟机 P2V提示 权限不足,无法连接\\ip\admin$的解决方法集锦 步骤一 检查 远程桌面到&quo ...
- 【常见的SQL Server连接失败错误以及解决方法】
[常见的SQL Server连接失败错误以及解决方法] http://blog.csdn.net/feixianxxx/article/details/5523922 ADO连接SQL Server ...
随机推荐
- 自学PHP笔记(三) 类型转换
本文转发来自:https://blog.csdn.net/KH_FC/article/details/115558701 在真正使用PHP写项目时会经常用到不同数据类型之间进行转换,PHP中类型转换是 ...
- 多线程安全的单例模式(使用判断nullptr和call_once两种方法)
转载请注明: https://blog.csdn.net/Stephen___Qin/article/details/115583694 使用判断nullptr #include <thread ...
- BUAAOO第二单元代码分析
第一次作业 设计思路与感想 第一次作业是要求有捎带的电梯实现, 第一次作业是花费的时间比较长的一次,花费了很多的时间去思考架构的问题.起初是想要搞三个线程的:输入线程,调度器线程和电梯线程,想要搞一个 ...
- 重磅:谷歌强势回归! google大会报名
google退出中国已经很久了,有关google回归的消息也流传了很久,今天,我们迎来了回归的开幕式. 1.中国区开发者网站 不需要梯子,赶紧取感受下吧: https://developers.goo ...
- RE.从单链表开始的数据结构生活(bushi
单链表 单链表中节点的定义 typedef struct LNode{ int data;//数据域 struct LNode *next;//定义一个同类型的指针,指向该节点的后继节点 }LNode ...
- MySQL 储存引擎知识点
一:MySQL 存储引擎概述 1.1 什么是存储引擎: '''MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛 ...
- python 闭包函数与装饰器
1.什么是闭包函数 (1):什么是闭包函数: #内部函数包含对外部作用域而非全局作用域的引用, 简而言之, 闭包的特点就是内部函数引用了外部函数中的变量. 在Python中,支持将函数当做对象使用,也 ...
- 1.4.15- HTML标签之链接标签
代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- hdu1261 JAVA
题意: 一个A和两个B一共可以组成三种字符串:"ABB","BAB","BBA".给定若干字母和它们相应的个数,计算一共可以组成多少个不同的 ...
- Android NDK工程的编译和链接以及使用gdb进行调试
前提条件:已经安装了JDK 6.0.android SDK.NDK r9和eclipsele4.2开发环境. 推荐下载Android开发的综合套件adt-bundle-windows-x86,再下载A ...