我在家庭网络上的定制盒子上运行简单的 Ubuntu 安装。我能够通过家庭 wifi 从本地 192.xxx 地址通过 SSH 进入盒子。
我一直在尝试以某种方式进行连接,以便我可以从其他网络(例如在工作中)通过 SSH 进入该盒子,我认为我已经阅读了互联网上关于如何执行此操作的每篇文章。
- 服务器正在运行 OpenSSH,可以从网络内部连接到它。检查。
- 路由器 (Eero) 已启用端口转发。我有一个端口转发预留,设置了转发 21>192.xxx:22 检查。
- 我可以 ping 通我的外部 IP,67.xxx(在执行此操作之前,我将笔记本电脑绑定到手机的蜂窝网络)。检查。
- 现在我认为我应该能够做到但这已经超时了。
ssh [email protected] -p 21
当我nmap
在这个 IP 上运行它时,它找不到任何开放端口。
All 1000 scanned ports on ai.sytes.net (67.x.x.x) are filtered
运行它-nP
显示我有大约 999 个“已过滤”端口。只有端口 21 被列为开放。这可能是原因吗?
Starting Nmap 7.60 ( https://nmap.org ) at 2018-03-06 21:33 PST
Nmap scan report for yy.yy.net (67.x.x.x)
Host is up (0.018s latency).
rDNS record for 67.x.x.x: c-67-x-x-x.hsd1.ca.comcast.net
Not shown: 999 filtered ports
PORT STATE SERVICE
21/tcp open ftp
Nmap done: 1 IP address (1 host up) scanned in 10.68 seconds
编辑:当我针对这些端口运行时,似乎 22 和另一个四位数端口是开放的nmap -sT -p XX [host]
。我也为这些端口设置了端口转发预留,但仍然得到相同的结果。
答案1
确保您不仅提供从公共 IP 到目标私有 IP 的端口转发,而且还允许防火墙上通过此端口和公共 IP 传入流量。
您没有遇到本地 SSH 问题,因此您可以放心地将服务器端操作系统防火墙视为问题。但是,拥有公共 IP 的防火墙需要配置规则以允许 public-ip:22 上的传入流量即使您已为该端口设置了跨 NAT 的转发。
我一般建议使用 22 进行 SSH,除非你有充分的理由不这样做。一个好的理由是另一台更重要的机器正在此端口接受 SSH 连接,例如防火墙本身。这只会使功能方面的事情更加明显。
答案2
您没有明确提到端口转发是针对哪种协议 (tcp、udp) 进行配置的。由于 ssh 使用 tcp,因此请确保端口转发是针对“tcp”的。