博客
关于我
【mac】iTerm2中ssh保持连接不断开
阅读量:101 次
发布时间:2019-02-25

本文共 1200 字,大约阅读时间需要 4 分钟。

在这里插入图片描述

1.概述

转载:

一、一个iTerm2蛋疼的问题

最近基友搞了台mbp,在装一些常用app时,跟我交流到一个情况:「用iTerm2进行ssh时,空闲了一段时间就会断掉了……」想来,这个情形也是之前总遇到的,尤其正开着vim开开心心的一把梭时,突然有产品汪跑来跟你沟通需求细节,等好不容易聊完,人家的需求有了,你TM代码呢?……于是又吭哧吭哧回到刚才的界面,正准备撸起袖子加油干,却发现冰冷的窗口上一点反应都没有了……

在这里插入图片描述

二、解决?解决!

看这情况,是服务器端把空闲连接给断开了。只能重新连接了。这么蛋疼,是该找点法子处理下了。

随手一搜,锦囊到手。

1、方案一(通过iTerm2参数配置)

刚接触iTerm2,用起来感觉还不错,就是不知道如何保持连接,让ssh不断线。 profiles -> sessions -> When idel, send ASCII code [1]

(我就不说这回答把「idle」都拼错了……-0-)

很快,按照设置,配好,验证,好了。

在这里插入图片描述

我配置的ASCII code是97,所以是一串aaaaaa,一看效果,果然没断。但是接着用了用,就发现有坑了……

在这里插入图片描述

在这里插入图片描述
开着vim,过了一段时间再回来时,这一长串aaaaaa……还要手工ESC,u一下,才恢复,而且指不定还会有其它副作用,实在蛋疼……

2、方案二(通过客户端ssh参数配置)

正确的做法是,通过配置 ServerAliveInterval 来实现,在 ~/.ssh/config 中加入: ServerAliveInterval=30[2]

ServerAliveInterval 30 #表示ssh客户端每隔30秒给远程主机发送一个no-op包,no-op是无任何操作的意思,这样远程主机就不会关闭这个SSH会话。[3]

好的,二话不说,马上改!

在这里插入图片描述

我只需要在当前用户的ssh连接调整就好(注意:是本地发起连接的客户端!并非修改所要连接的远程服务器端),那么vim ~/.ssh/config,然后新增

Host *    ServerAliveInterval 60

我觉得60秒就好了,而且基本去连的机器都保持,所以配置了*,如果有需要针对某个机器,可以自行配置为需要的serverHostName。

再经过最后的验证,方案二确实为最优选择。

三、补充

1、单次连接

若只是单次连接时需要,可使用-o参数实现: ssh -o ServerAliveInterval=30 user@host

2、罪魁祸首?

最后看下服务端的配置:

在这里插入图片描述

我去……结果发现服务端其实只是默认配置?并没有主动做什么限制,那这次问题的根源,其实只是因为Mac的wifi断开了造成的而已?并非ssh连接的问题吗?(wifi:这锅我不背……)

好吧,这个问题记下了,留着下次研究。 (果然发现,之前把问题想得太简单了,后面原来隐藏了这么个秘密……「」)

你可能感兴趣的文章
NLog 自定义字段 写入 oracle
查看>>
NLog类库使用探索——详解配置
查看>>
NLP 基于kashgari和BERT实现中文命名实体识别(NER)
查看>>
NLP 时事和见解【2023】
查看>>
NLP 模型中的偏差和公平性检测
查看>>
Vue3.0 性能提升主要是通过哪几方面体现的?
查看>>
NLP 项目:维基百科文章爬虫和分类【01】 - 语料库阅读器
查看>>
NLP_什么是统计语言模型_条件概率的链式法则_n元统计语言模型_马尔科夫链_数据稀疏(出现了词库中没有的词)_统计语言模型的平滑策略---人工智能工作笔记0035
查看>>
NLP、CV 很难入门?IBM 数据科学家带你梳理
查看>>
NLP三大特征抽取器:CNN、RNN与Transformer全面解析
查看>>
NLP入门(六)pyltp的介绍与使用
查看>>
NLP学习笔记:使用 Python 进行NLTK
查看>>
NLP度量指标BELU真的完美么?
查看>>
NLP的不同研究领域和最新发展的概述
查看>>
NLP的神经网络训练的新模式
查看>>
NLP采用Bert进行简单文本情感分类
查看>>
NLP问答系统:使用 Deepset SQUAD 和 SQuAD v2 度量评估
查看>>
NLP项目:维基百科文章爬虫和分类【02】 - 语料库转换管道
查看>>
NLP:从头开始的文本矢量化方法
查看>>
NLP:使用 SciKit Learn 的文本矢量化方法
查看>>