ubuntu 服务器,ssh,写入失败:管道损坏

ubuntu 服务器,ssh,写入失败:管道损坏

在我们两台新服务器(均为全新安装)上使用 Ubuntu Server 10.04 64 位时,我遇到了一些奇怪的行为。我已在 4-5 台其他服务器上部署了 ubuntu 服务器(相同版本),但没有出现此问题。

最初,我无法通过 ssh 连接到新安装的服务器,除非我在 /etc/ssh/sshd_config 中手动设置 ssh 服务器正在监听的地址。连接后,我似乎会随机被踢出,并出现以下错误:

写入失败:管道损坏

使用“ssh -vv”不会显示任何其他信息。当我以这种方式被踢出时,我无法在另一个看似随机的时间段内重新连接。有时是几秒钟,有时是几分钟。如果我运行“netstat -nap|grep :22”,我可以看到在写入失败错误之后我的连接仍然存在。我似乎无法重新连接,直到该连接断开。

出现其中一个错误后,如果我从控制台跳转到服务器,通过 ssh 进入另一台机器,然后尝试通过 ssh 返回服务器,一切都会正常工作。

在客户端使用“-o TCPKeepAlive=yes”似乎没有任何效果。我在服务器上禁用了 iptables 和 ufw。AppArmor 没有显示任何强制配置文件,也没有安装 SELinux。

我的日志没有报告任何错误,我也没有任何自定义配置。这是盒装安装。请注意,当我尝试在管道破裂错误后重新进入时,我收到以下错误:

ssh:连接到主机 172.22.50.92 端口 22:连接被拒绝

并且 nmap 不再显示端口 22 处于打开状态,尽管服务器上的 netstat 显示它仍在监听端口 22。

编辑-我不确定这是否意味着什么,但我已经在这些主机上安装了 KVM,并且我可以毫无问题地通过 ssh 进入客户机(ubuntu 服务器 64 位也是如此)。

更新 - 我尝试过清除 openssh 并使用 apt 重新安装。我还从源代码清除并安装了 openssh,但没有成功。一夜之间 traceroutes 和 ping 都没有显示任何数据包丢失。

又一个更新 - 戴尔似乎认为我们的服务器主板有问题。更换主板看看是否能解决问题。

答案1

使用 mtr 检查网络。尝试使用类似 的命令mtr -i 15 remotehost。让它在窗口中运行,或者使用 screen 以便分离。它应该可以发现任何网络问题。在我的大多数系统中,数据包丢失率通常为 0%。

编辑:在 ssh 丢失之前和之后,您的 IP 地址的输出arp -n显示什么。您可能想在同一子网上的另一台服务器上尝试此操作。IP 地址应该只有一个硬件地址,并且它不应该改变。如果是这样,则存在 IP 地址冲突。

答案2

这篇文章解决了这个问题: 服务器上线时大量数据包丢失

答案3

好的.. 那么从我看一眼这个就可以推断出......

你基本上得到了延长的辍学时间......

1.)您的网络连接不佳。

2.) 服务器所在的网络连接不良 / 路由器不良 / 某些东西存在问题 :P

3.) 您的服务器有冲突的地址/硬件问题。

我的解决方案..

整夜运行 ping 操作.. 看看早上丢失了多少数据包 :D(只是为了看看我是否朝着正确的方向前进)

希望这可以帮助..

答案4

当自动协商打开并且协商为半双工时,您可能会与某些 NIC/交换机组合建立不稳定的连接。

使用“ethtool eth0”验证速度和双工设置是否正确,并在需要时进行更改。

相关内容