我家用的 PC 位于 NAT 后面,但我的路由器有静态 IP 地址。我的工作 PC 使用 3G 棒上网(所以我猜这就像位于 NAT 后面)。
我想创建一个反向 SSH 隧道来连接到我的工作 PC。按照大量手册,我在我的工作电脑上创建了一个隧道:
ssh -R 33333:localhost:22 [email protected]
135.142.205.131
我的路由器的静态 IP 地址在哪里?当尝试在家连接工作时,我发出:
ssh -p 33333 localhost
但我收到“连接被拒绝”。我认为我需要配置一些端口转发,因为我认为我需要以某种方式让 ssh 让我将一些本地端口连接到路由器的 33333 端口以使隧道正常工作。我该怎么做?
我的工作电脑上的输出:
netstat -nap --inet --tcp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:56789 0.0.0.0:* LISTEN 1402/klient
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp 0 0 10.0.85.14:56731 104.20.90.217:443 ESTABLISHED 1402/klient
tcp 0 1 10.0.85.14:52501 135.142.205.131:22 SYN_SENT 2366/ssh
tcp 0 0 10.0.85.14:56789 52.49.10.125:53633 ESTABLISHED 1402/klient
tcp 0 0 10.0.85.14:47118 104.20.89.217:443 ESTABLISHED 1402/klient
netstat - output
我工作电脑的输出:
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 10.0.85.14:56731 104.20.90.217:https ESTABLISHED
tcp 0 1 10.0.85.14:52501 135.142.205.131:ssh SYN_SENT
tcp 0 0 10.0.85.14:56789 ec2-52-49-10-125.:53633 ESTABLISHED
tcp 0 0 10.0.85.14:47118 104.20.89.217:https ESTABLISHED
答案1
这行:
tcp 0 1 10.0.85.14:52501 135.142.205.131:22 SYN_SENT 2366/ssh
告诉我们,从工作电脑到家庭电脑的 ssh 连接尚未完成。因此,要么 a) 从路由器到家庭电脑的端口转发不起作用,要么 b) 家庭电脑上的 ssh-d 没有侦听(正确的)地址