我有raspberry Pi模型B和raspbian OS,它们已经运行了2-3个月,并且从上周开始我就注意到,每次登录(通过ssh)输入用户名时,每次都会出现延迟(超过1分钟)在系统用密码行响应之前。

这是SD卡或其他问题的信号吗? (另外,我已经注意到执行某些命令,例如arp,netstat等会花费较长的时间。)

评论

很可能是SD卡问题。尝试找到一些class10 8GB Kingstons。它们对我来说似乎很长时间都能正常工作,并且对它们进行适度的读写
只是为了排除DNS问题。当您仅使用IP地址而不是HOstname登录到SSH时,会发生同样的事情吗?

使用主机名或IP地址登录是相同的..slow,似乎比这还重要,我从2月加载了基本版本,问题仍然存在...

如果可以发布dmesg和/ var / log / messages输出,它也可能很有用。

大的意见..但有一个奇怪的行,我没有注意到之前,这解释了很多... FAT-fs(mmcblk0p1):未正确卸载卷。某些数据可能已损坏。请运行fsck // dmesg ...

#1 楼

可能是出于安全原因,您的Pi试图对客户端的连接主机名进行反向DNS查找,这没关系,但是如果您没有可用的反向DNS,则会导致超时。

当您最终登录时,请尝试在您的/etc/ssh/sshd_config文件中添加

UseDNS no


,看看是否有帮助,当然不要忘记重新加载,

service ssh reload


而且应该使用近乎即时的SSH

还可以尝试使用-v verbose选项进行SSH-ing将输出提供给客户端,这可能有助于诊断超时发生的地方。

Raspberry Pi或Raspbian都不独有此行为,请参见SuperUser:UseDNS no是ssh登录缓慢的主要原因常见解决方案。

评论


您能否解释一下DNS将如何影响Pi的常规使用?在第一次解析之后,DNS解析不会花费那么长时间。

– Piotr Kula
2014年4月29日在8:33



@ppumkin我以前在无法进行反向DNS查找的网络中的标准linux机器上遇到过此问题,我花了30多秒钟才收到密码提示。使用我刚刚提供的解决方案为我解决,所以我不确定为什么我的答案被否决了吗?

–科林
2014年4月29日在8:52

听起来您在逆向DNS或其他方面遇到了非常具体的问题。正如OP所说的那样,它可以正常工作数月,登录后,他的网络和所有应用程序都不会发生任何变化,分配时间也更长。我严重怀疑这将解决所有这些问题,这就是为什么-1。而且,在任何情况下我都不必这样做。 DNS非常重要,应该可以正常工作。证明其不是DNS的一种方法是改为使用IP登录。然后不进行DNS查找

– Piotr Kula
2014年4月29日在9:05



@ ppumkin,OP没有提到什么都没有改变吗?他还遇到其他将使用DNS查找的命令(arp和netstat)的问题,除非他指定了arp -an和netstat -rn将关闭查找。两者都是解决这是否确实是dns问题的很好的测试。

–科林
2014年4月29日在9:10

好了,编辑ssh_config可以改善我的登录响应时间,但是我仍然相信这更多是SD卡问题,因为arp(和类似的命令)大约需要2-3分钟才能返回任何值。卡,当一切正常,它不能正常工作..现在,我将尝试测试sd卡,然后在另一台计算机上重新格式化,以查看干净安装后会发生什么..tnx家伙..

–zsn
2014年4月29日10:11



#2 楼

我的Raspberry Pi官方WiFi加密狗通过我的局域网从一台计算机到Pi的数据包丢失了64%。而其他所有WiFi加密狗都可以正常工作,丢包率不到1%。

使用:

ping address(Windows,Linux,Mac)或ping address -t(Windows,运行直到Ctrl) + C)
在局域网上的另一台计算机上查看是否是网络问题,将地址替换为Pi的专用IP地址。 Pi,将鼠标悬停在Raspbian中的网络图标上,或使用命令hostname -I



评论


-t是用于ping的有效标志吗?我正在Mac上尝试,但无法正常工作。它显示一条消息:用法:ping [-AaDdfnoQqRrv] [-b边界] [-c计数] [-G sweepmaxsize] [-g scanminsize] [-h sweepincrsize] [-i等待] [-k trafficclass] [-l [-M面罩|时间] [-m ttl] [-p模式] [-S src_addr] [-s包大小] [-t超时] [-W等待时间] [-z tos]主机ping [-AaDdfLnoQqRrv] [-b边界] [- c count] [-I iface] [-i wait] [-k trafficclass] [-l preload] [-M掩码|时间] [-m ttl] [-p模式]

– IgorGanapolsky
16年8月22日在15:12



@IgorGanapolsky在Windows上,它像其他shell的ping命令一样,一遍又一遍地重复数据包,直到您停止它为止。我假设Mac的终端已经有了这个,或者这是一个不同的标志。

–evelynhathaway
16年8月22日在15:19