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

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

iTerm2 SSH连接空闲断开问题解决方案

最近,我遇到了一个让人头疼的问题:使用iTerm2进行SSH连接时,空闲一段时间就会断开了。这个问题尤其是在开着vim的时候,突然被打断,回去后发现连接已经断了,真是让人抓狂。

问题分析

这个问题的根源在于服务器端将空闲连接断开。为了解决这个问题,我尝试了两种方法,分别是通过iTerm2的参数配置和通过客户端SSH配置的方法。

方法一:通过iTerm2参数配置

在iTerm2中进行如下设置:

  • 进入“Profiles”菜单。
  • 选择“Sessions”选项。
  • 在“When idle, send ASCII code”中设置一个ASCII码(例如,'a'对应的ASCII码97)。这样,iTerm2会在空闲时发送一个‘a’,保持连接。不过,这种方法在实际使用中存在一个问题:每次重新连接后,需要手动输入Escape字符,这在长时间使用中确实有些不便。
  • 方法二:通过客户端SSH配置

    这种方法更加可靠。只需在本地的~/.ssh/config文件中添加以下配置:

    Host *    ServerAliveInterval 30

    这个参数表示客户端每隔30秒会向远程服务器发送一个“no-op”包,防止服务器端关闭连接。这种配置简单且适用于多种连接场景。在实际使用中,这种方法表现稳定。

    补充说明

  • 单次连接:如果只需要一次连接,可使用参数选项-o实现:
    ssh -o ServerAliveInterval=30 user@host
  • 检查远程服务器配置:确保远程服务器没有设置相关限制。通过进一步调试,发现问题实际上是由Mac的WiFi连接中断引起的,而非SSH配置问题。
  • 总结

    通过客户端配置ServerAliveInterval,解决了iTerm2在空闲时断开的问题。这种方法简单且稳定,是目前为止最优的解决方案。

    转载地址:http://ubo.baihongyu.com/

    你可能感兴趣的文章
    python | Python中的内存池与缓存机制
    查看>>
    python | Python中的弱引用与内存管理
    查看>>
    python | Python中的类多态:方法重写和动态绑定
    查看>>
    python | Python作用域链查找机制
    查看>>
    python | Python动态代码执行:exec和compile函数
    查看>>
    python | Python反向迭代:reversed实现机制
    查看>>
    python | Python模块缓存:sys.modules机制
    查看>>
    python | Python集成学习和随机森林算法
    查看>>
    python | pytime,一个实用的 时间和日期处理 Python 库!
    查看>>
    python | pyupgrade,一个有趣的 Python 库!
    查看>>
    python | pyvips,一个神奇的 图像处理 Python 库
    查看>>
    Python | qutip,一个高级的 Python 库!
    查看>>
    python | rapidjson,一个实用的 提高JSON处理效率 Python 库!
    查看>>
    python | reflex,一个无敌的 Python 库!
    查看>>
    python | reloading,一个强大的 Python 库!
    查看>>
    python | rich,一个无敌的 Python 库!
    查看>>
    python | rlax,一个超强的 强化学习领域 Python 库!
    查看>>
    python | rpyc,一个超实用的 Python 库!
    查看>>
    python | rq,一个无敌的 关于Redis 的Python 库!
    查看>>
    python读取字符串指定位置字符_python要怎么截取指定位置的字符串呢?
    查看>>