zoukankan      html  css  js  c++  java
  • 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 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

    原创文章,转载请注明:转载自kqdongnanf-博客园;Email:kqdongnanf@yahoo.com。
  • 相关阅读:
    面试题 31: 求子数组的最大和
    [面试] 结构体占用空间的问题,内存对齐~! 真的懂了,cpu取加快速度,省空间来考虑。
    [计算机] 32768~32767 计算机中的 1 表示
    C#跨线程调用窗体控件
    合并字节数组
    将汉字转化为2位大写的16进制Unicode
    关公与子龙两大杀手
    早年的J2EE笔记
    给小组新成员的一份信
    c++虚函数详解
  • 原文地址:https://www.cnblogs.com/kqdongnanf/p/6517836.html
Copyright © 2011-2022 走看看