一般prod机器都必须通过某些跳板机才能连接,也就是所谓的bastion。如果你处在A, 你想连接C,但是必须通过B作为跳板机才能连接。这种情况下我们可以使用ssh端口本地转发来实现应用层直接使用A来连接C,也就是建立ssh隧道。
在A机器上执行如下SSH命令:
ssh -L LOCAL_PORT:C_HOST_IP:REMOTE_PORT B_HOST_IP
比如说我想在A机器上连接C机器上的服务器,其端口号是80,然后我可以这样写:
ssh -L 8080:C_HOST_IP:80 B_HOST_IP
也就是说所有的到localhost:8080的请求都会通过B host转发到C host的80端口。
所以我们可以建立ssh隧道来达到此类效果。
与本地转发相反的是远程转发。