我尝试使用 MobaXterm ssh 进入我的新 Raspberry Pi,但一直收到以下错误:ssh:连接到主机...端口 22:连接被拒绝。PC
和 Raspberry Pi 都已有线连接到路由器,我可以成功 ping Raspberry Pi。我在使用 Putty 时也遇到了同样的问题。
为了测试我的连接,我还尝试通过 MobaXterm 登录到工作中的超级计算机,但它返回相同的错误。我知道 ssh 确实在这台计算机上运行,因为我能够从我的工作计算机 ssh 进入它。我已经检查过,我的 ISP 没有阻止端口 22,我尝试禁用防火墙、端口转发等,但都不起作用。我没有带 hdmi 连接的显示器,因此我无法测试我是否可以使用 Raspberry Pi 登录工作中的计算机。我将不胜感激任何建议。提前致谢。
答案1
所以我制作了一张图片来说明我们当前的状态并帮助解释。
“A”是家里的电脑,“B”是办公室的电脑,“C”是办公室的另一台电脑。
“C” 确实可以访问“B”。
“A” 确实不是可以访问“B”,这就是我们必须解决的问题。
最常见的原因是“B”和“C”在同一个网络中,“A”必须通过路由器才能访问“B”或“C”。
“B”和“C”有本地 IP 地址,例如192.168.13.10
“B”和192.168.13.20
“C”。路由器也有自己的 IP 地址,一个内部 IP 地址(例如192.168.13.1
),一个外部 IP 地址(例如10.10.10.11
),可通过互联网访问。
“B”和“C”可以通过本地 IP 地址互相呼叫轻松地互相通信,因为它们在同一个网络中,如果“C”想通过端口 22 与“B”通信,他所要做的就是打开通信192.168.13.10:22
。
当“A”想要联系“B”或者“C”的时候情况会变得稍微复杂一些,因为只有一个 IP 地址可以通过互联网访问,那就是路由器的外部 IP 地址:10.10.10.11
。
这里发生的事情是,路由器上必须有一个端口转发,这意味着,假设我们想将路由器在端口上获得的所有信息转发12345
到“C”的端口 22。因此,我们必须设置路由器的端口转发,说明端口上的入站连接12345
要转发到192.168.13.20:22
(计算机“C”的地址)
从现在起,如果我想从外部计算机访问计算机“C”的端口 22,我只需连接到10.10.10.11:12345
因此,为了使其正常工作并能够从计算机“A”访问计算机“B”,我们必须在路由器的空闲端口上进行端口转发,该端口指向计算机“B”端口 22 的内部地址。