我在 Raspberry Pi 上运行 Arch Linux。我尝试设置 ssh 服务器,但在外部连接时遇到了问题。
我已经在路由器后面的 Pi 上安装了 OpenSSH。
我已成功使用同一网络上的另一台计算机连接到服务器。我使用 puTTY 使用 Pi 的本地 IP(端口 22)进行连接。
因为有些地方不允许使用 ssh,所以我编辑了 sshd_config 和 sshd.socket 以监听端口 443 而不是 22。
现在使用 puTTY,我可以通过将 Pi 的本地 IP 放在主机名框中并将 443 放在端口框中来连接到 Pi。
访问 portfoward.com 后,我配置了我的路由器的端口转发,如下所示:
常用服务: 其他名称:SSH 服务类型:TCP/UDP 服务器IP地址:(工作站本地IP) 起始端口:443 结束端口:443
我检查了 canyouseeme.org 并且它显示成功:它可以在我的外部 IP、端口 443 上看到我的服务。
但是,当我尝试使用外部 IP 而不是内部 IP 使用端口 443 连接到 Pi 时,连接超时。
编辑:澄清一下,当我使用命令:putty.exe -ssh LOCALIP 443 时,我得到一个登录屏幕并且连接没有问题,但是当我输入:putty.exe -ssh EXTERNALIP 443 时,我得到一个连接超时。
在一些不相关的在线示例中,我看到有人在摆弄 puTTY 菜单的 SSH / Tunnels 部分。但这似乎与我正在做的事情无关...我希望能够从网络外部使用端口 443 连接到我的 SSH 服务器。我遗漏了什么?
答案1
用户55325在上面的评论中有答案:
您需要 NAT 环回。或者运行您自己的 DNS 服务器...
本质上是你的 SSH 服务器是监听外部 IP,但您无法从家庭网络内部(家庭路由器后面)通过 SSH 连接到外部 IP。您应该尝试在外部进行测试(也许从您的手机)并验证 SSH 访问是否按预期工作。
此外,请确保您有一个强密码或只使用公钥加密,僵尸网络倾向于在互联网上寻找具有弱密码的 SSH 服务器。