Mac下ssh连接远程服务器时自动断开问题
在mac下使用securecrt通过ssh连接远程服务器时,总会一段时间没有动作后,ssh被自动断开。在windows下用xmanager貌似没有遇到过这个问题。
在网上找了解决方法如下:
客户端配置:
Global.ini文件中将D:"Disconnect After Resume Timeout"=00000000改为D:"Disconnect After Resume Timeout"=FFFFFFFF
securecrt界面上配置:send string \n every 600 seconds或send protocol no-op every 600 seconds
服务端配置:
/etc/profile文件中配置TMOUT=0
然而在securecrt中试验发现无效,可能的原因有:多人反应securecrt的mac版有这个问题,mac的wifi断开导致(wifi断开的原因有多种,例如离开wifi的区域,mac休眠自动断开wifi等)。
在网上搜了一遍mac下流行的ssh工具,有securecrt、iterm2、telnet lite等,下下来试了一下,iterm2的界面和体验最好,于是决定放弃securecrt,改用iterm2。
在iterm2中仍然发现了ssh自动断开的问题,于是又开始了漫长的寻找方法和试验的过程。
网上有人给出解决方法是:
在客户端:~/.ssh/config文件(若没有则新建)中添加如下内容:
Host *
ServerAliveInterval 60
意思是每60s发送一次以保持连接。
注意:在ssh客户端改,不要在服务端改(ClientAliveInterval 60, ClientAliveCountMax 100),不安全
按照这个方法在iterm2和自带终端上试验
1. 服务端设置TMOUT=0,客户端设置ServerAliveInterval 60,不会断
服务端设置TMOUT=900,客户端设置ServerAliveInterval 60,900s后立即断,并有提示断开
2. 服务端设置TMOUT=0,客户端不配ServerAliveInterval 60,半小时后终端没反应,也没提示断开
服务端设置TMOUT=900,客户端不配ServerAliveInterval 60,半小时后终端没反应,也没提示断开
于是最终方案:
1. 使用自带终端或iterm2,iterm2界面和用户体验更好一点
2. 服务端:/etc/profile文件中配置TMOUT=0,source /etc/profile生效,重新登录用户
3. 客户端:~/.ssh/config文件中配置
Host *
ServerAliveInterval 60
参考:
https://ztgame.shenyu.me/linux/ssh-config.html
http://bluebiu.com/blog/iterm2-ssh-session-idle.html
http://bluebiu.com/blog/linux-ssh-session-alive.html
Mac下ssh连接远程服务器时自动断开问题的更多相关文章
- mac下ssh到远程服务器时中文乱码
前言:mac本地的语言环境为英文,远程是支持中文的, 问题: 一开始是在iterm2下登录远程服务器更新数据库时发现中文注释不能正常显示,以为是iterms2下设置有问题,使用系统自带的termina ...
- Mac使用SSH连接远程服务器
1. 终端通过 ssh 连接远程服务器 ssh -p 36622 root@localhost 2. 文件上传下载 上传 scp 下载 scp 3. 客户端 FinalShell(推荐) FileZi ...
- 解决mac下ssh空闲一段时间自动断开的问题
之前在公司就遇到过这种问题,使用ssh登录linux服务器后,在后台放置一段时间,会发现会自动断开,解决的方法很简单: vim /etc/ssh/ssh_config 添加这2句即可 ServerAl ...
- Mac下如何连接linux服务器(SSH)-比较好用的SSH工具推荐
Mac下如何连接linux服务器(SSH) 1.用mac自带终端连接 步骤如下: 打开终端,在顶部shell菜单中选择新建远程连接 在右侧服务器窗口点击+号,添加服务器,输入IP等信息 输入用户名,点 ...
- [转]学习win10的bash使用ssh连接远程服务器
1. 前言 微软已经在Win10一周年更新预览版中加入了Ubuntu Bash命令支持,相当于一个小型的linux系统,本来连接远程服务器的话,要使用putty啥的,现在可以用这个直接连接,我来讲讲步 ...
- VsCode通过SSH连接远程服务器开发
前言 nil 正文 安装插件 安装VsCode官方插件 Remote - SSH Remote - SSH: Editing Configuration Files WSL(远程桌面连接需要Remot ...
- Python实现SSH连接远程服务器
首先需要安装paramiko模块 #-*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" import paramiko ssh = p ...
- (原)Ubuntu连接远程服务器时connection reset by peer
转载请注明出处: https://www.cnblogs.com/darkknightzh/p/11086935.html 最近使用ubuntu通过ssh连接服务器时,由于密码错误,多次连接失败后,在 ...
- mac 终端下ssh 登录远程服务器不发输入中文
转:https://segmentfault.com/q/1010000000150673 用Mac的iterm2 ssh连上去,终端显示中文乱码,也不能输入中文,然而本地终端可以显示和输入. 解决方 ...
随机推荐
- @RequestBody和@ResponseBody
@RequestBody 将HTTP请求正文转换为适合的HttpMessageConverter对象. @ResponseBody 将内容或对象作为 HTTP 响应正文返回,并调用适合HttpMess ...
- angular指令中,require和transclude同时设置为true时的作用
最近在学习angularJS指令的时候,对指令对象中require属性和transclude属性同时设置为true比较疑惑,于是自己动手测试一下具体差异 index.html: <simple& ...
- c#中struct和class的区别
1.struct 是值类型,class是对象类型 2.struct 不能被继承,class可以被继承 3.struct 默认的访问权限是public,而class默认的访问权限是private. 4. ...
- 判断div是否有滚动条
判断div是否有滚动条 var obj=document.getElementById("showDiv"); if(obj.scrollHeight>obj.clientH ...
- Java学习之旅基础知识篇:数组及引用类型内存分配
在上一篇中,我们已经了解了数组,它是一种引用类型,本篇将详细介绍数组的内存分配等知识点.数组用来存储同一种数据类型的数据,一旦初始化完成,即所占的空间就已固定下来,即使某个元素被清空,但其所在空间仍然 ...
- js实现数组去重并且显示重复的元素和索引值
var arr=["a","b","c","d","c","b","d ...
- ASP.NET Zero--14.一个例子(7)商品分类管理-分类搜索及分页
分类搜索实现 1.添加搜索框 打开Index视图,添加一个搜索框,代码如下: ... <div class="portlet light"> <div class ...
- oracle的位图索引和函数索引
1.位图索引 位图索引适用于性别.婚姻状态.行政区等只有几列固定值的类型列,身份证号等就不适合位图索引,位图索引适用于静态数据,频繁更新的字段不适用建立位图索引,因为更新会导致索引块区的变更,还会引起 ...
- 创建 OVS 外部网络 ext_net - 每天5分钟玩转 OpenStack(144)
上一节完成连接外网的配置准备工作,今天就来创建 OVS 外部网络 ext_net. 进入 Admin -> Networks 菜单,点击 "Create Network" 按 ...
- 穷举 迭代 while
for循环拥有两类: 穷举: 把所有可能的情况都走一遍,使用if条件筛选出来满足条件的情况. 例:1.单位给发了一张150元购物卡,拿着到超市买三类洗化用品.洗发水15元,香皂2元,牙刷5元.求刚好花 ...