我试图SSH远程主机B,但networking访问控制pipe辖我只能通过主机A做到这一点。我怎么会这样做呢?
已尝试创build一个通道到主机ssh -f -N -D 2222 user @ hostA
然后当从本地指定隧道端口创build新的SSH连接隧道连接,但不能得到这个工作.. ssh -L 2222:hostB:22 hostA
涉及的主机:本地主机A(本地内部网)主机B(互联网)
stream量的stream量:本地> HostA> HostB
任何指针将超级手..预先感谢!
你的想法使用一个dynamic的端口,这将永远不会工作。 按照逻辑思考 – 您需要打开一个本地端口,从本地计算机通过hostA转发到hostB上的端口22。 有几种方法可以实现这一点。 首先,不雅,手工的方式:
首先,build立隧道:
$ ssh -L2222:hostB:22 user@hostA
然后,连接到hostB:
$ ssh -p 2222 user@localhost
首选的方法是使用ssh客户端的ProxyCommand指令,它可以为你自动执行。 把这样的东西添加到你的~/.ssh/config :
host hostB Hostname hostB ProxyCommand ssh user@hostA nc %h %p 2> /dev/null
做完这些之后,你可以这样做:
$ ssh hostB
…和SSH客户端将照顾你的一切。