为什么 Ubuntu 无法通过 LAN 访问我的 Raspberry Pi?

Jam*_*ude 9 ssh remote-access connection raspberrypi

好吧,我最近有一个 Raspberry Pi,我将它连接到了我的 Wi-Fi - 我启用了 SSH 并安装了 Hiawatha,我可以从我的桌面访问它,当时我运行的是 Puppy Linux。

我也可以在启动到 Windows 时很好地访问它(Win XP Pro 上的 PuTTY),并且上网本也可以通过 PuTTY 访问它。(赢 7 首发)

但是,当我启动到 Ubuntu 时,所有 SSH、HTTP 和 HTTPS 连接都被拒绝。为了确认它是 Ubuntu,并且只有 Ubuntu,有连接问题,我重新启动到 Puppy Linux - 连接正常,然后进入 Windows - 连接正常。上网本也可以毫无问题地连接到所有 3 种服务。只是 Ubuntu 说连接被拒绝。

我想知道出了什么问题 - 我已经完成了所有基本的故障排除:重新启动 RPi、重新启动我的计算机、重新启动无线路由器等。 Raspberry Pi 没有启用防火墙,我的路由器提供连接到的所有设备局域网相互访问不受限制。我已经进行了广泛的测试,并且毫无疑问地证明 Ubuntu 是唯一不愿意连接的人。

更新:刚刚测试了通过我的外部 IP 访问,一切都在 Ubuntu 上顺利运行!但是,Ubuntu 仍然无法从任何本地访问 Pi,我只是再次确认我的其他操作系统可以. 我认为 Ubuntu 在本地连接时遇到问题(与我的其他操作系统不同)很奇怪,但是通过我的外部 IP 访问 Pi 就可以了。

更新 2:禁用我的防火墙让我可以访问设备,但密码. 时间。我尝试将其输入 Gedit,然后在 SSH 登录期间将其拖放到密码提示中,并且在访问pi@jamestheawesomedude.cu.cc时授权,但在访问时不授权pi@192.168.2.128。这令人难以置信地令人沮丧。

fal*_*ner 1

因此,除非您ufw在 Ubuntu 计算机上启用了默认设置,否则连接始终会报告Connection refused。在客户端上禁用后,ufw连接已建立,但密码始终被拒绝?

我猜在这种情况下你的问题是192.168.2.128IP被路由回你的客户端Ubuntu机器,而实际上你正在连接到ssh在你的Ubuntu机器上运行的服务器。这可以解释:

  • 为什么您能够从互联网连接。

  • 当 Ubuntu 客户端上的防火墙打开时,为什么连接被拒绝。

  • 为什么在关闭客户端防火墙后连接不再被拒绝。

  • 为什么现在连接建立了,但是认证失败。

要解决此问题:

  • ssh -v pi@192.168.2.128检查本地连接和互联网连接的服务器主机密钥。它报告相同的密钥吗?

  • 或者,当您从本地连接时,并且提示您从另一个终端输入密码:sudo netstat -tupan并查看是否在您的 Ubuntu 上建立了连接sshd

虽然这个案例可以解释一切,但是太奇怪了,我怀疑这是你的问题。


Lun*_*uno 0

根据您的 PasteBin 中的内容,“连接被拒绝”表示您正在从该 IP 地址上的任何内容进行 TCP 重置。

健全性检查:故障排除时,禁用 ufw。

禁用桌面防火墙后,您可以从桌面对 Pi 执行 ping 操作吗?你能从 Pi 上 ping 通桌面吗?

尝试双向 ping 后,查看两台计算机上“arp -n”的输出。他们是否看到彼此的 MAC(以太网硬件)地址,或者是否有重定向/拦截流量的东西?

如果您可以双向 ping,并且“arp -n”指示正在使用正确的 MAC 地址(检查对面计算机上的“ifconfig”),则下一步是检查 Pi 上的 /var/log/auth.log。它应该告诉您连接尝试出了什么问题。

如果上述方法没有帮助,请向我们展示 Pi 上以下命令的输出:

sudo ifconfig -a
cat /etc/resolv.conf
arp -n
netstat -rn
sudo iptables-save
sudo grep ssh /var/log/auth.log | tail -50
Run Code Online (Sandbox Code Playgroud)

在你的桌面上:

sudo ifconfig -a
cat /etc/resolv.conf
arp -n
netstat -rn
sudo iptables-save
Run Code Online (Sandbox Code Playgroud)

我在上面的评论中看到了其中的一些内容,但首先要在关闭防火墙的情况下抓住整个内容。如果您可以使其在防火墙关闭的情况下工作,那么您可以继续对防火墙规则进行故障排除。

此外,即使您的目标是 IP 地址,DNS 设置仍然很重要,因为 SSH 在主机密钥验证期间使用 DNS。