SSH自动断开后重连的解决方案
注:本文出自博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎
本文源链接:https://www.cnblogs.com/chloneda/p/ssh-connect.html
问题场景
终端连接远程 SSH 服务,经常会出现长时间无操作后就自动断开,或者无响应,无法再通过键盘输入,只能强行断开重连。
那么有没有办法保持 SSH 连接不断开,或者断开连接后自动重连呢?有的!
解决方法
方案一:客户端发送心跳
Linux / Unix 下,编辑 ssh 配置文件:
vim /etc/ssh/ssh_config
在文件中添加以下内容:
ServerAliveInterval 20
ServerAliveCountMax 999
- ServerAliveInterval:表示每隔多少秒,从客户端向服务器端发送一次心跳(alive 检测)。
- ServerAliveCountMax:表示服务端多少次心跳无响应之后,客户端才会认为与服务器的 SSH 连接已经断开,然后断开连接。
上述配置则表示:每隔20秒,向服务器发出一次心跳。若超过999次请求都没有发送成功,则会主动断开与服务器端的连接。
方案二:服务器端发送心跳
在服务器端中,编辑 ssh 配置文件:
sudo vim /etc/ssh/sshd_config
在文件中添加以下内容:
ClientAliveInterval 60
ClientAliveCountMax 3
- ClientAliveInterval:表示每隔多少秒,从服务器端向客户端发送一次心跳。
- ClientAliveInterval:表示客户端多少次心跳无响应之后,服务端才会认为客户端已经断开连接,然后断开连接。
上述配置则表示:每隔60秒,服务器向客户端发出一次心跳。若客户端超过3次请求未响应,则会从服务器端断开与客户端的连接。
所以,总共允许无响应的时间是 60 * 3 = 180 秒以内。
其实,依赖 ssh 客户端定时发送心跳,putty、SecureCRT、XShell 工具也有这个功能。
完!
SSH自动断开后重连的解决方案的更多相关文章
- SSH自动断开连接的原因-20200323
SSH自动断开连接的原因 方法一: 用putty/SecureCRT连续3分钟左右没有输入, 就自动断开, 然后必须重新登陆, 很麻烦. 在网上查了很多资料, 发现原因有多种, 环境变量TMOUT ...
- SSH自动断开连接的原因
方法一: 用putty/SecureCRT连续3分钟左右没有输入, 就自动断开, 然后必须重新登陆, 很麻烦. 在网上查了很多资料, 发现原因有多种, 环境变量TMOUT引起,ClientAliveC ...
- SSH自动断开连接的原因、配置(转)
方法一: 用putty/SecureCRT连续3分钟左右没有输入, 就自动断开, 然后必须重新登陆, 很麻烦. 在网上查了很多资料, 发现原因有多种, 环境变量TMOUT引起,ClientAliveC ...
- SSH自动断开处理
解决ssh登录后闲置时间过长而断开连接 时我们通过终端连接服务器时,当鼠标和键盘长时间不操作,服务器就会自动断开连接,我们还的需要重新连接,感觉很麻烦,总结一下解决此问题的方法 方法一. 修改/etc ...
- 网络断开后重连downloadProvider继续下载问题调试分析
最近在安卓4.4上遇到一个断开wifi后重新连接wifi, downloadProvider继续下载文件失败的问题.于是开始了解下载管理模块的断点续载功能: 1.首先,分析android lo ...
- MacOS下terminal防止ssh自动断开的方法和自动断开的原因
之前换了个工作环境,用terminal连接远程服务器的时候老是出现自动断开的情况,搞得我很是郁闷.因为之前在家的时候,并没有出现过类似情况.后来在网上找了很久,发现国外网站上有个大神说应该是有些路由器 ...
- ssh连接Linux自动断开后再也无法连上的问题
近期公司测试机有点抓狂,情况是这样的:用SSH登录后正常使用,但另外一部电脑也在登录,这时候会发生全部断开的情况,再也无法连接,连IP都PING不通. 今天尝试在/etc/hosts.deny 加入如 ...
- ssh连接断开后 shell进程退出
问题描述:当SSH远程连接到服务器上,然后运行一个服务 ./catalina.sh start,然后把终端开闭(切断SSH连接)之后,发现该服务中断,导致网页无法访问. 解决方法:使用nohup命 ...
- issue:ssh自动断开
使用ssh连接云服务器的时候,几分钟不操作terminal就会卡住,实际上ssh连接已经断开了,感觉很不爽.(可能云服务器供应商在系统中做了设置) 解决办法: step1:vim /etc/ssh/s ...
随机推荐
- SpringBoot学习(二):配置文件
1.配置文件 SpringBoot使用一个全局的配置文件,配置文件名是固定的: •application.properties •application.yml 配置文件的作用:修改SpringBoo ...
- docker挂载war包到tomcat容器中的注意点和坑
刚开始用docker,难免会遇到很多坑,这里分享一下: 一 挂载最好挂载目录 我刚开始挂载war包,结果发现容器里把挂载的war包当成目录了 二 本地路径必须是绝对路径,否则不管用 三 容器中使用vi ...
- C++快读模板
C++的快速读入模板 inline int read() { ; char ch = getchar(); ') { if (ch == '-') flag = true; ch = getchar( ...
- not,and,or
sql语句中not and or的执行优先级从高到低依次为:not>and>or <> 不等于
- gRPC in ASP.NET Core 3.x -- Protocol Buffer(2)Go语言的例子(上)
上一篇文章(大约半年前写的):https://www.cnblogs.com/cgzl/p/11246324.html 建立Go项目 在GOPATH的src下面建立一个文件夹 protobuf-go, ...
- mysql常用语句及实题训练
基本语句操作 创建数据库: create database database-name 1 删除数据库: drop database database-name 1 修改数据名: RENAME DAT ...
- 自学笔记系列:《Python学习手册 第五版》 -写在开始之前
今年双十一,在当当网上买了这本书,很厚很厚的一本书,大概有将近1700页左右,的确是一个“大工程”, 关于这本书的学习,我想采用一种博客的方式进行,既是写给自己,也想分享给每一个对Python学习感兴 ...
- String、StringBuffer和StringBuilder总结
String String类是不可变(final)的,对String类的任何改变,都是返回一个新的String类对象. StringBuffer 当对字符串进行修改的时候,需要使用 StringBuf ...
- 在 Vs2013中查看类的内部布局
第一步:在Visual Studio中配置命令行环境(Command Prompt) 来自:https://blog.csdn.net/u013553529/article/details/77417 ...
- Django (二) 常用字段及 ORM
MVC介绍 Django生命周期 many-to-many One-to-many Django常用字段 CharFiled 需要有max_length unique=True(代表不能重名) Ema ...