好的,我最近得到了一个 Raspberry Pi,并将它连接到我的 Wi-Fi - 我启用了 SSH 并安装了 Hiawatha,我可以从当时运行 Puppy Linux 的桌面顺利访问它。
启动 Windows 时我也能正常访问它(Win XP Pro 上的 PuTTY),并且上网本也可以通过 PuTTY 访问它。(Win 7 Starter)
但是,当我启动 Ubuntu 时,所有 SSH、HTTP 和 HTTPS 连接都被拒绝。为了确认是 Ubuntu 存在连接问题,并且只有 Ubuntu 存在连接问题,我重新启动了 Puppy Linux - 连接正常,然后重新启动了 Windows - 连接正常。上网本也可以毫无问题地连接到所有 3 个服务。只有 Ubuntu 才说连接被拒绝。
我想知道哪里出了问题——我已经完成了所有基本的故障排除:重启 RPi、重启我的电脑、重启无线路由器等。Raspberry Pi 没有启用防火墙,我的路由器为连接到 LAN 的所有设备提供不受限制的相互访问。我已经完成了广泛的测试中,Ubuntu 毫无疑问地被证明是唯一一个不愿意连接的系统。
更新:刚刚测试通过我的外部 IP 进行访问,Ubuntu 上一切都运行顺利!然而,Ubuntu 仍然无法从任何本地设备访问 Pi,我只是再次确认我的其他操作系统能。我觉得很奇怪,Ubuntu 在本地连接时会遇到麻烦(与我的其他操作系统不同),但可以通过我的外部 IP 正常访问 Pi。
更新 2:禁用防火墙可以让我使用权设备,但密码报告不正确每一个。单身的。时间。我尝试将其输入到 Gedit 中,然后在 SSH 登录期间将其拖放到密码提示符中,访问时授权[email protected]
,但访问时不授权[email protected]
。这真是令人沮丧。
答案1
因此,除非您ufw
在 Ubuntu 计算机上启用默认设置,否则连接始终会报告Connection refused
。ufw
在客户端上禁用后,连接已建立,但密码始终被拒绝?
在这种情况下,我猜想您的问题是 IP192.168.2.128
被路由回您的客户端 Ubuntu 机器,而实际上您正在连接到ssh
在 Ubuntu 机器上运行的服务器。这可以解释:
为什么您可以从互联网连接。
为什么当您的 Ubuntu 客户端上的防火墙打开时您的连接被拒绝。
为什么关闭客户端防火墙后连接不再被拒绝。
为什么现在连接已经建立,但是认证失败。
要解决此问题,请执行以下操作:
使用本地连接和互联网连接检查服务器的主机密钥。它报告的是同一个密钥吗?
ssh -v [email protected]
或者当您从本地连接时,您会在提示符下从另一个终端输入密码:并查看是否与您的 Ubuntu
sudo netstat -tupan
建立了连接。sshd
虽然这个案例可以解释一切,但它太奇怪了,我怀疑这是你的问题。
答案2
您的 ubuntu 机器获取的网络 IP 地址与预期不同,这是完全有可能的。请尝试以下操作:
- 在 raspi 上,使用以下命令检查其 IP 地址
ifconfig | grep 192.168
- 在 ubuntu 机器上,使用以下命令检查其 IP 地址
ifconfig | grep 192.168
为了能够在本地网络上互相通信,它们都应该使用相同的子网 - 查看 IP 地址的第三部分以查看它们是否如此。 就您而言,它们都应该位于 192.168.2.* 子网中。
确保他们确实有不同的IP 地址也是如此。这似乎很明显,但如果其中一个使用 DHCP,而另一个是静态设置的,则可能会发生这种情况。
如果一切正常,请运行以下命令来查看数据包应该去往何处:
route -n
在输出中查找适用于您的树莓派的目标子网。实际上应该只有 3 行:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
如果您有更多的行或事情发展到奇怪的位置,那么这就是答案。
我的猜测是,你的 ssh 连接最终会到达与你的 raspberry pi 上的不同的 SSH 服务器,这就是为什么更改 ubuntu 防火墙会对它产生影响并且你的登录不起作用。
答案3
在 Ubuntu 13.10 上,我无法 ssh 到我的 pi,而之前在 13.04 和 Mint 16 上可以。当我尝试
ssh -vvv user@host
我有 :
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
我偶然发现一个建议,说将机器(不是 pi)的 MTU 设置为 1200,而不是自动。我这样做了,关闭 -> 然后打开我的 wifi,并在第一次尝试时使用 ssh 连接到 PI。希望这对某人有所帮助。
答案4
删除~/.ssh/known_hosts
文件并重试。如果之前有一台具有相同 IP 地址的主机可以通过 ssh 访问,则可能会保留无效指纹