我有两个测试 AWS EC2 实例,其 IPv4 公共 IP 地址如下
3.15.217.194
18.222.170.204
我想在我的本地 ubuntu 机器上监听来自上述两个 IP 的 SSH 请求来复制一些文件。
这是我的本地 ubuntu 机器的 ufw 状态(16.04)
To Action From
-- ------ ----
54310 ALLOW Anywhere
54310/tcp ALLOW Anywhere
22 ALLOW Anywhere
Anywhere ALLOW 3.15.217.194
22 ALLOW 3.15.217.194
22 ALLOW 18.222.170.204
22/tcp ALLOW Anywhere
Anywhere ALLOW 18.222.170.204
54310 (v6) ALLOW Anywhere (v6)
54310/tcp (v6) ALLOW Anywhere (v6)
22 (v6) ALLOW Anywhere (v6)
22/tcp (v6) ALLOW Anywhere (v6)
但是当我从 AWS EC2 实例执行 scp 或 ssh 到我的本地 ubuntu 机器时,我收到了错误
ssh: connect to host ubuntuPublicIP port 22: Connection timed out
不知道它为什么会这样。从 AWS EC2 到我的本地 ubuntu 机器及其公共 IP 的 Ping 操作成功完成。
在我的本地 Ubuntu 机器上完成以下步骤:
1)在我的路由器上根据我的本地机器 IP 在端口 22 上完成了端口转发。
2)IPv4 Public IPs
在本地 ubuntu 机器的主机名文件中添加。
3)SSH 服务器正在运行
4)输出如下sudo iptables -nvL
Chain ufw-user-input (1 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:54310
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:54310
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:54310
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:22
0 0 ACCEPT all -- * * 3.15.217.194 0.0.0.0/0
0 0 ACCEPT tcp -- * * 3.15.217.194 0.0.0.0/0 tcp dpt:22
0 0 ACCEPT udp -- * * 3.15.217.194 0.0.0.0/0 udp dpt:22
0 0 ACCEPT tcp -- * * 18.222.170.204 0.0.0.0/0 tcp dpt:22
0 0 ACCEPT udp -- * * 18.222.170.204 0.0.0.0/0 udp dpt:22
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
5)完成sudo ufw allow from 18.222.170.204
6)完成sudo ufw allow from 3.15.217.194
7)端口转发后重新启动路由器
8)sudo ufw allow 22/tcp
在过去的 48 个小时里,我一直被这个问题困扰,真的不知道现在该怎么办……!
有人可以帮忙吗……?
更新:
使用以下命令获取机器公共 IP:curl ifconfig.me
使用以下命令获取我的路由器 IP:ip route | grep default
谢谢