您当前的位置:首页 > 计算机 > 系统应用 > macOS

Mac下ssh连接远程服务器时自动断开问题

时间:03-14来源:作者:点击数:
  在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、telnetlite等,下下来试了一下,iterm2的界面和体验最好,于是决定放弃securecrt,改用iterm2。
  
  在iterm2中仍然发现了ssh自动断开的问题,于是又开始了漫长的寻找方法和试验的过程。
  
  网上有人给出解决方法是:
  
  在客户端:~/.ssh/config文件(若没有则新建)中添加如下内容:
  
  Host*
  
  ServerAliveInterval60
  
  意思是每60s发送一次以保持连接。
  
  注意:在ssh客户端改,不要在服务端改(ClientAliveInterval60,ClientAliveCountMax100),不安全
  
  按照这个方法在iterm2和自带终端上试验
  
  1.服务端设置TMOUT=0,客户端设置ServerAliveInterval60,不会断
  
  服务端设置TMOUT=900,客户端设置ServerAliveInterval60,900s后立即断,并有提示断开
  
  2.服务端设置TMOUT=0,客户端不配ServerAliveInterval60,半小时后终端没反应,也没提示断开
  
  服务端设置TMOUT=900,客户端不配ServerAliveInterval60,半小时后终端没反应,也没提示断开
  
  于是最终方案:
  
  1.使用自带终端或iterm2,iterm2界面和用户体验更好一点
  
  2.服务端:/etc/profile文件中配置TMOUT=0,source /etc/profile生效,重新登录用户
  
  3.客户端:~/.ssh/config文件中配置
  
  参考:
  
  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
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
    无相关信息
栏目更新
栏目热门