仅通过无线方式从 Ubuntu SSH 和 Windows Putty 客户端进行 SSH 登录和打字速度很慢

仅通过无线方式从 Ubuntu SSH 和 Windows Putty 客户端进行 SSH 登录和打字速度很慢

我有一个由 3 个 Raspberry Pi 组成的 Raspberry Pi 集群,每个都在我的家庭网络 (192.168.0.n) 上运行 Ubuntu Server 20.04。每个 Raspberry Pi 都有一个通过 Netplan 配置分配的静态 IP。

当尝试从我的 Ubuntu 桌面 20.04 通过 SSH 连接到任何 Raspberry Pi 时,SSH 登录要么需要很长时间,要么最终登录但输入非常慢或没有响应。

我尝试从同一网络上的 Windows 笔记本电脑上使用 PuTTYy 执行此操作,并看到相同的行为最终导致以下错误:

网络错误:软件导致连接中止

在每个运行 SSHD 的 Pi 上,我都进行了设置并UseDNS no注释掉,基本上按照此网站上定义的步骤进行操作:session optional pam_systemd.so/etc/pam.d/common-sessionhttps://jrs-s.net/2017/07/01/slow-ssh-logins/

我的路由器由我的 ISP Sky UK 提供。

奇怪的是,我在 Android 手机上下载了 JuiceSSH,并且可以连接到每个 Pi 并成功运行命令。

我完全不知所措。如能提供任何有关如何进一步排除故障的帮助或指导,我将不胜感激。

答案1

您可以增加 ssh 命令的详细程度来ssh -vvv user@host找出延迟的根源。

该问题是由多个配置引起的。首先,检查host文件:

sudo nano /etc/hosts

会有一行 127.0.0.1 ,请确保前面的主机名正确。如果没有,只需添加:

127.0.0.1 hostname

如果您不确定主机名,可以使用以下方法找到它:

echo $HOSTNAME

保存后,无需重启任何服务,您将看到速度加快。如果没有,请尝试第二个更改。

nano /etc/ssh/sshd_config

此文件包含 SSH 服务配置,默认情况下,某些参数可能不是最适合您的情况的。要修改它,请记住使用 sudo ;)

X11Forwarding可能会减慢数据传输速度,但通常保留它是可以的yes。 相同的,PasswordAuthentication这使得连接更简单、更安全。 修改并设置它们no以进行测试并保存文件。 然后使用以下命令重新启动服务:

sudo service sshd restart

有一种情况是,命令执行速度很快,但 ssh 登录速度很慢,那么身份验证就会出现问题。要检查文件中的UseDNS两种常见情况,请尝试:UsePAMsshd_config

nano /etc/ssh/sshd_config

然后添加或编辑(如果存在):

UsePAM no
UseDNS no

同时禁用两者以检查它们的效果,并且不要忘记ssh在保存后重置服务。

如果您没有取得任何改进,请将其恢复,并检查htop是否有任何可疑进程正在运行。检查 CPU 和内存使用情况,并杀死它们。

我不会让它变得更长,所以遗憾的是,如果问题仍然存在,请回复此问题以获得更多想法。

答案2

我终于弄清楚了是什么原因导致从我的 Ubuntu 20.04 笔记本电脑到我的 Raspberry Pi 集群(影响所有 3 个)的 SSH 会话通过无线挂起。关闭无线设备的电源管理。首先列出网络设备状态:

sudo iwconfig

如果电源管理已打开,请通过将以下文件中的 3 更改为 2 来关闭:

cat /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf 

[connection]
wifi.powersave = 2

更改后我必须重新启动笔记本电脑。

相关内容