6

我有一个想要解决的特定场景。我目前通过端口转发连接到主机:

 laptop -> gateway -> remote_server_1

和另一个主机:

 laptop -> remote_server_2

无密码登录在两者上都可以工作。外部世界都看不到远程服务器。现在我正在 remote_server_2 上运行一项服务,我希望能够在 remote_server_1 上访问该服务。我想我必须设置从 remote_server_1 到我的笔记本电脑的反向端口转发,然后再到 remote_server_2,但我不知道该怎么做。以前有人遇到过这种情况吗?

编辑:万一其他人需要它的完整解决方案:

mylaptop$ ssh -L 3001:localhost:3000 server_2
server_2$ netcat -l 3000

gateway然后通过以下方式设置隧道server_1

ssh -t -t -L 3003:server_1:22 gateway

然后从以下位置访问它server_1

ssh -R 3002:localhost:3001 -p3003 localhost
echo "bar" | nc localhost 3002`

嘿 prestoserver_2节目bar:-)

4

1 回答 1

4

你必须完全按照你的描述去做。在 上设置服务器server_2

mylaptop$ ssh -L 3001:localhost:3000 server_2
server_2$ netcat -l 3000

然后从server_1.

mylaptop$ ssh -R 3002:localhost:3001 server_1
server_1$ echo "foo" | netcat localhost 3002

server_2将显示foo

于 2011-11-10T12:03:08.097 回答