![EC2 防火墙不允许某个 IP 地址通过 SSH 进入任何实例,无论该实例是否被添加到安全组](https://linux22.com/image/641594/EC2%20%E9%98%B2%E7%81%AB%E5%A2%99%E4%B8%8D%E5%85%81%E8%AE%B8%E6%9F%90%E4%B8%AA%20IP%20%E5%9C%B0%E5%9D%80%E9%80%9A%E8%BF%87%20SSH%20%E8%BF%9B%E5%85%A5%E4%BB%BB%E4%BD%95%E5%AE%9E%E4%BE%8B%EF%BC%8C%E6%97%A0%E8%AE%BA%E8%AF%A5%E5%AE%9E%E4%BE%8B%E6%98%AF%E5%90%A6%E8%A2%AB%E6%B7%BB%E5%8A%A0%E5%88%B0%E5%AE%89%E5%85%A8%E7%BB%84.png)
我的安全组设置准确无误。我尝试添加我尝试连接的特定 IP 地址以及来自所有 IP 地址 (0.0.0.0/0) 的连接,但我的连接尝试被过滤了。将其他 IP 地址添加到安全组后,我可以从这些地址连接,没有任何问题。
这个问题并非只存在于单个实例中。我创建了新实例,它们也只拒绝来自这个特定 IP 地址的访问。然而,这个问题似乎只存在于 SSH 端口 22 中。我可以从这个特定的 IP 地址在端口 443 上进行连接,也可以通过 ICMP 端口进行 ping 操作。
请问,有人能就问题可能出在哪里提出一些建议吗?
更新:我尝试运行 nmap
我无法从以下 IP 地址通过 SSH 连接:
$ nmap -Pn -p22 <instance ip>
Host is up.
PORT STATE SERVICE
22/tcp filtered ssh
$ nmap -Pn <instance ip>
Host is up (0.014s latency).
Not shown: 996 filtered ports
PORT STATE SERVICE
21/tcp open ftp
443/tcp open https
554/tcp open rtsp
7070/tcp open realserver
我在安全组中为这个 IP 地址打开的唯一端口是 443 和 22,所以我不确定为什么 21、554 和 7070 是打开的。
我可以通过 ip 地址通过 SSH 连接:
> nmap -Pn <instance ip>
Host is up (0.014s latency).
Not shown: 998 filtered ports
PORT STATE SERVICE
22/tcp open ssh
443/tcp open https
我发现这个在 stackoverflow有人使用 nmap 测试时遇到了类似的问题。我尝试创建各种新实例 - 使用相同的 AMI、不同的 AMI、不同的可用区域、不同的安全组 - 但都没有成功。
答案1
这听起来很像防火墙问题,它丢弃了目标端口为 22 的数据包。您可以通过修改以下内容来测试此理论/etc/ssh/sshd_config
:
Port 443
在重启 ssh 之前,请关闭你的网络服务器。并确保你已打开另一个会话。以防万一 :P
正如您所说,您可以连接到端口 443 和 ICMP。请咨询您的网络管理员或再次查看您的安全组。(我们有时会不小心输入错误的 IP。这种情况时有发生,我们并非万无一失)