我在基于Debian Lenny的服务器(这是Xen环境中的一个虚拟主机,在Xen内核上启动)上遇到了SSH问题。 我希望有人能帮助我。
当terminal溢出时(terminal底部的新线路,通常迫使它滚动),SSH连接似乎不知何故被频繁地搞砸了。 连接会丢失,但不会定期断开连接。 当我做以下几乎总是发生:
所以它是可重复的。
我不完全确定在input密码之前或之后连接是否崩溃。
此外,当显示的文本太多的时候也会发生这种情况(例如,当我编译某个东西的时候,或者在有很多条目的目录上执行ls -l时)。
然而,使用“屏幕”有助于减less发生的频率,但并不能完全解决问题。
它的出现与我使用的terminal软件无关。 我主要使用腻子,但也发生在其他客户端。
我当然希望有人能帮我解决这个问题。
提前致谢!
// 编辑 :我刚刚做了一个ssh连接的Wireshark跟踪,没有什么,我再说一遍,工作和失败连接之间没有什么不同(至less除了帧号,端口和时间,显然不能等于)。 这导致我假设错误必须发生在服务器端。
从你最初的描述来看,似乎有一些特殊的字符通信正在被转移到SSH shell本身。
这些是你可以尝试的一些事情,
你也可以尝试用这些东西消除特定的终点行为,如果这些行为中的任何一个都可以在你的设置中完成的话,
-v -v -v ”debugging日志logging选项运行客户端 -d -d -d ”debugging日志logging选项运行服务器(查看服务器debugging消息的/var/log/syslog或/var/log/auth.log screen进行复制时,当您尝试断开连接并重新连接时,它会继续失速:屏幕上显示“ -D -R ”? 听起来就像当你开始达到TCP连接的最大数据包大小时,你的连接就会被丢弃。 使用SSH,通常传输数据相当小,并且仍然远低于MTU。
中间是否有防火墙将丢弃所有的ICMP数据包? RFC1918地址空间中是否有路由器编号?
作为一个粗暴的黑客,如果你以root身份在服务器上运行:
ifconfig eth0 mtu 1420
这是否缓解了这个问题? 如果是这样,pathMTU发现被破坏(configuration错误的防火墙某处),并且您有一个链接的MTU比每个端点本地链接的MTU低。 你还没有解决这个问题,通过降低服务器端的MTU来解决这个问题。