SSH隧道遠端埠轉發配置方法
阿新 • • 發佈:2019-02-06
需求說明
A機器處於在層層NAT之下的內網;B機器擁有公網IP(稱為IpB),可以被任意機器直接訪問;A機器希望將本地埠PortA對映到B機器的埠PortB上,使得任何人訪問B機器PortB埠等效於訪問A機器的PortA埠。
配置方法
B機器配置
要求B機器能夠執行sshd之類的可以進行ssh登入的軟體。ssh的配置要新增:
GatewayPorts yes
AllowTcpForwarding yes
然後清理掉所有ssh的會話程序,重啟ssh服務,在ubuntu14.04下重啟方法是:
service ssh restart
這樣使得B機器可以啟用0.0.0.0的監聽地址,否則B機器只能監聽來自127.0.0.1的地址。
A機器配置
Linux可以直接利用自帶的ssh服務,Windows可以採用xshell、putty、git bash等工具實現。ssh的命令引數如下。也在-R前可以新增-C -f -N -g,使得ssh程式在後臺執行。
ssh -R 0.0.0.0:PortB:127.0.0.1:PortA root@IpB
然後在B機器上執行如下命令,即可檢驗是否生效。
netstat -lnp | grep PortB
這樣就實現了需求的功能,即訪問PortB等效於訪問PortA。