Linux
在路由器上為反向 SSH 隧道設置埠轉發
我的家用電腦在 NAT 之後,但我的路由器有靜態 IP 地址。我的工作電腦使用 3G 棒上網(所以我想這就像在 NAT 後面)。
我想創建一個反向 SSH 隧道來連接到我的工作 PC。根據大量手冊,我在工作 PC 上創建了一個隧道:
ssh -R 33333:localhost:22 homeuser@135.142.205.131
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
這一行:
tcp 0 1 10.0.85.14:52501 135.142.205.131:22 SYN_SENT 2366/ssh
告訴我們,從工作電腦到家庭電腦的 ssh 連接尚未完成。所以要麼a)從路由器到家庭電腦的埠轉發不起作用,要麼b)家庭電腦上的ssh-d沒有監聽(正確的)地址