AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 531422
Accepted
OsakaWebbie
OsakaWebbie
Asked: 2013-08-16 23:21:48 +0800 CST2013-08-16 23:21:48 +0800 CST 2013-08-16 23:21:48 +0800 CST

SSH 连接到 VPS 的频繁中断

  • 772

我的 SSH 会话在看似随机的时间终止 - 响应将停止,然后几秒钟后,PuTTY 会弹出一条消息,“服务器意外关闭网络连接。 ”它似乎最常在空闲时发生,但并非总是如此 -当我输入 vim 或其他东西时,它甚至可能死掉(非常令人沮丧!)。但它非常频繁 - 如果我很幸运,它可能会存活几个小时,但如果我不走运,它可能会在登录后的几秒钟或几分钟内死亡。

  • 服务器:带有 CentOS 5.6、WebMin 1.62、OpenSSH 4.3 的 VPS
  • 客户:
    1. FTTH(或更准确地说,到建筑物:104 套公寓)
    2. 路由器 #1 运行 NAT 和安全性
    3. 路由器 #2 作为无线接入点运行
    4. Windows 7 笔记本电脑(但我在 XP 台式机上遇到了同样的问题)
    5. 腻子 0.62

大多数时候我什至不使用wifi,而只是将TCP-IP(带有集线器)连接到路由器#1 - 但问题仍然存在。我认为根本原因是我的 ISP 连接(或建筑物中的某些东西)出现问题,但我可能无法解决这个问题,所以我在 ServerFault 上问这个的原因是因为我只是想配置 SSH(或PuTTY 或其他任何东西),这样它就不会那么容易地终止会话。

我尝试了其他人认为有用的各种方法:

  • 将 PuTTY 的 Connection->"Seconds between keepalives" 设置为各种非零值(我不知道该设置是像 TCPKeepAlive 还是更像 ServerAliveInterval,但它是 PuTTY 中唯一可用的设置)

  • 尝试通过关闭 PuTTY 的 keepalive (0) 然后打开服务器来使服务器完成工作,包括在 sshd_config 中:

    TCPKeepAlive no
    ClientAliveInterval 60
    ClientAliveCountMax 3000
    
  • 更改为我的 PC 的静态 IP(这是SuperUser.com 上此问题的解决方案)

但它仍然在所有变体中都消失了——很难判断一组设置是否比另一组略好,但即使在今天不到一个小时,每个设置都失败了。从长远来看,这个问题是相当一致的 - 我已经忍受了几年我一直在管理这个服务器(我主要是一名程序员,所以我不会在 SSH 上花费大量时间,但是当我确实需要它,不断失去我的会话令人沮丧)。有什么想法吗?

centos
  • 2 2 个回答
  • 3039 Views

2 个回答

  • Voted
  1. Jaap Haagmans
    2013-08-17T01:07:46+08:002013-08-17T01:07:46+08:00

    当我遇到这个问题时,要么是由于互联网连接不稳定(根据我的经验,这种情况越来越少),要么是由于服务器上的配置。我的连接通常保持打开状态 > 8 小时。

    我建议设置TCPKeepAlive为yes,因为这将强制 sshd 服务器成为保持连接活动的对等方。我从来不需要改变腻子本身的任何东西。

    我的 sshd_config 的相关部分:

    TCPKeepAlive yes
    ClientAliveInterval 60
    ClientAliveCountMax 3
    

    让我知道这是否有帮助。

    • 4
  2. Best Answer
    OsakaWebbie
    2016-09-13T15:51:36+08:002016-09-13T15:51:36+08:00

    问题自行解决了-我写这个答案是为了分享发生的事情,供以后可能阅读的人使用...

    在同一时期,我的基于 LAN 的打印机出现问题,抛出“网络板错误”并且几乎​​每天都必须重新启动 - 我没有连接这两个问题,因为它们似乎以不同的频率发生,并且因为打印机驱动程序指责打印机,而 SSH 指责服务器。当打印机错误似乎越来越多时,我认为机器快要死了并更换了它(数百美元的商业级彩色激光)。但是新的也有同样的问题!那时我意识到原因在打印机之外,并开始考虑它和 SSH 问题(和 Skype 连接中断)可能有相同的原因。我尝试更换路由器,但无济于事。我研究了一些其他的东西,但没有得出任何结论。然后,在被这些东西折磨了几年之后,我丈夫更换了他的电脑,所有的问题都突然消失了!显然,他的电脑以某种方式干扰了本地网络上的一切,但只有某些进程会表现出明显的症状,而且只是间歇性的。我的观点:如果有人发现这个线程有类似的问题,请检查您 LAN 上的设备,即使是那些看起来工作正常的设备。

    • 1

相关问题

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 使用 crontab 和 /etc/cron.hourly,daily,weekly 的区别

  • 持续监控许多服务器运行状况的简单方法?

  • Hudson 无法在 tomcat5 中启动

  • CentOS 的依赖挑战

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve