如果命令输出超过大约5行,则使用SSH


11

有人建议我在这里问这个问题:我对当前遇到的以下问题感到困惑。
我有一台通过以太网电缆连接到DSL路由器的Debian 5.0 Linux服务器。我的笔记本电脑运行Windows 7,并无线(802.11b / g)连接到同一DSL路由器。如果我使用Putty SSH进入服务器并尝试执行导致多行输出的命令,我的SSH会话将冻结。例如

ls -al /             // Freezes
ls -al / > ~/boo.txt // OK
vi ~/boo.txt         // OK
top                  // Freezes

如果直接在服务器上执行上述命令,或者将便携式计算机的连接更改为有线连接,则上述所有命令均有效。是什么赋予了?这个问题真让我困惑!谢谢


可能想在StackOverflow上问这个问题,但听起来好像是特殊字符(也许是颜色)可能有问题,因为vi不会进行任何着色(除非它实际上是vim)。
Topher Fangio

的确在StackOverflow上提出了要求,但最好将其移至ServerFault ...而我在Aidan任职:我的第一个怀疑者是网络MTU。
dmckee ---前主持人小猫,

啊哈哈,是的,ServerFault,不是StackOverflow ...这是一个星期一= P
Topher Fangio,2009年

Answers:


9

听起来像是有线MTU问题。略...

是否有可能启用了巨型帧?可能不是。无论如何-尝试在Debian上设置较低的MTU,看看是否有帮助。


借调 这听起来像是MTU问题。我建议尝试越来越大的数据包(使用ping轻松完成),直到收到错误/丢弃的数据包为止。或者只是检查MTU的设置:)
MikeyB

谢谢大家!降低笔记本电脑的MTU即可达到目的。MTU是否同时适用于发送者/接收者/两者?我可以从具有较大数据大小的笔记本电脑ping服务器。事实并非如此。Linux服务器:〜#ping -S 5000 athlon64-laptop.lan PING athlon64-laptop.lan 56(84)个字节的数据来自xxxx的64个字节:icmp_seq = 1 ttl = 128 time = 2.71 ms在Windows笔记本电脑上> ping -l 2048 athlon64x2-server.lan ping带有2048字节数据的athlon64x2-server.lan:请求超时。> ping -l 1048 athlon64x2-server.lan ping athlon64x2-server.lan具有1048个字节的数据:来自xxxx的回复:字节= 1048时间= 3ms TTL = 64

@leftbrainlogic-mtu的问题表明您的网络中有些可疑。也许接入点没有通过快速以太网的最大允许[1500B]帧?您是否将服务器手动配置为使用巨型帧?
pQd

@pQd-不,服务器仅运行Debian 5.0的原始安装。我接受了除磁盘分区和主机名以外的所有默认值,ifconfig -a的输出在这里:pastebin.com/f78fcbf3d

@leftbrainlogic-好的;尝试按照我的链接中所述降低MTU。您的1500B是标准长度,我认为这表明交换机,接入点或wifi网络卡存在一些问题。
pQd

3

您的网络连接的MTU可能存在问题-当Linux服务器尝试在单个网络数据包中发送太多字节的数据时,可能路由器拒绝将其转发到Windows盒,因为它认为数据包大小为太大而无法通过无线网络发送。您应该能够减少Linux机器上以太网接口的MTU,这可能会解决您的问题。

要进行诊断,请尝试ping -s <packetsize> <windows-ip> 从linux框到Windows计算机的IP,再ping <linux-ip> <packetsize>从windows框到linux,使用packetsize参数的不同值,并查看最大大小在两个方向上是否不同。

另外:man ping在linux上有助于理解正在发生的事情。


0

首先要做的是在客户端和服务器上启用调试模式。

PuTTY具有内置的调试功能,可在Session-> Logging下使用。请注意,在设置“日志记录”设置之前,您需要加载要使用的会话。日志记录设置是会话配置的一部分。

在服务器上,/etc/ssh/sshd_config仅当看不到与问题相关的任何内容时,才可以将LogLevel保留为INFO(中的)并将其更改为DEBUG。请记住注销并重新启动ssh服务器以应用更改(/etc/init.d/ssh restart)。如果DEBUG没有提供有用的信息,请按照尝试DEBUG3 man sshd_config

请用您的发现更新您的问题!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.