Ubuntu 18.04 SSH VPS不断断开连接

Ubuntu 18.04 SSH VPS不断断开连接

我有一台运行 Ubuntu 18.04 的 Virpus VPS。自从几周前购买以来,我一直无法通过 SSH 保持连接。我可以正常连接,但它似乎会随机断开连接(间隔不同)。断开连接后,我通常需要等待一分钟才能重新连接。我使用 screen 保持我的 screen 会话,一旦进入,我就可以毫无问题地重新连接到 screen。

我在三台不同的机器上的三个不同网络上测试过它,其中两台运行 Windows 10,一台运行 CentOS。在 Windows 上,我尝试使用 PuTTY、WinSCP、名为 paramiko 的 Python SSH 库和适用于 Windows 的 Git Bash。在 CentOS 上,我只使用了 CLI ssh 命令。所有结果都相同。我尝试通过 SSH 连接到不同的用户帐户,但问题仍然存在。我甚至尝试在我的手机(Android 6)上使用 ConnectBot。没有运气。

PuTTY 显示:“网络错误:软件导致连接中止”

CentOS CLI 说:packet_write_wait: Connection to 198.167.140.11 port 22: Broken pipe

我尝试在 PuTTY 中设置 Keepalives,但这没有效果。一旦我失去连接,我就无法 ping 服务器,即使从不同的主机。例如,如果我从机器 A 通过 SSH 进入服务器,然后断开连接,然后我立即转到机器 B 并尝试 ping 服务器,我没有得到任何响应。在我看来,这似乎是服务器的错误。另一方面,如果我手动断开连接(干净地),我对其进行 ping 操作。

Virpus 支持团队表示我的 SSH 设置没有问题,他们能够保持连接(在 Linux 机器上)至少一个小时而不会出现问题,之后他们手动断开连接。换句话说,他们无法复制该问题。

为了解决这个问题,他们更改了服务器的公共 IP,但这并没有解决问题。他们的下一步是重新部署到另一个节点,这似乎有点奏效,但现在我仍然遇到同样的问题。他们告诉我他们现在能做的就是重新部署到另一个节点。因为他们已经这样做了,所以我认为这不会解决问题。

有人有什么建议吗?我可以发布你要求的任何配置信息,只是我不知道该发布什么。

更新

根据要求,以下是输出ufw status

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
22                         ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
443                        ALLOW       Anywhere
80                         ALLOW       Anywhere
80,443/tcp                 ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
22 (v6)                    ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)
443 (v6)                   ALLOW       Anywhere (v6)
80 (v6)                    ALLOW       Anywhere (v6)
80,443/tcp (v6)            ALLOW       Anywhere (v6)

为了更好的测量,这里是输出iptables -Lhttps://pastebin.com/GdScv2rv

更新:

我查看了 auth.log 并发现我一直连续收到以下消息:

Nov 10 03:47:04 <hostname> sshd[17618]: Failed password for root from <ip_address> port 44738 ssh2
Nov 10 03:47:05 <hostname> sshd[17618]: Received disconnect from <ip_address> port 44738:11:  [preauth]

这是当我以其他用户(非 root)的身份通过 ssh 登录但运行 sudo 命令时的情况。与<ip_address>我的主机或远程服务器不匹配。

似乎有人在试图暴力破解我,因为我收到了一连串这样的消息:

Nov 12 12:21:12 <hostname> sshd[20367]: Invalid user demo from <ip_address> port 49709
Nov 12 12:21:15 <hostname> sshd[20367]: pam_unix(sshd:auth): check pass; user unknown
Nov 12 12:21:15 <hostname>sshd[20367]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=<ip_address>
Nov 12 12:21:17 <hostname> sshd[20367]: Failed password for invalid user demo from 193.105.134.97 port 49709 ssh2
Nov 12 12:21:17 <hostname> sshd[20367]: Disconnecting invalid user demo <ip_address> port 49709: Change of username or service not allowed: (demo,ssh-connection) -> (root,ssh-connection) [preauth]

大约有 1500 个,他们都使用不同的用户名。我已在 中屏蔽了 IP 地址ufw

还有许多Failed password for root fromIP 地址与我的都不匹配。

相关内容