通过 ssh 隧道的连接对主机来说是什么样子的

通过 ssh 隧道的连接对主机来说是什么样子的

不确定如何命名这个问题,但情况如下:

我有 3 台服务器:

USER,,TUNNELTARGET

TUNNEL运行命令

TUNNEL:~$ ssh -nNT -L 0.0.0.0:22222:localhost:22 TARGET

这使我能够通过连接到端口 22222USER来从 ssh 到TARGETTUNNEL

USER:~$ ssh TUNNEL -p 22222

问题是:从TARGET视角来看,连接是否会显示为来自USERTUNNEL

答案1

如果您通过转发端口连接到服务器,它将被视为源自本地。

提示:您可以使用以下方式直接连接到目标代理跳转。它可以用作 $ ssh -J user@TUNNEL user@TARGET。如果您有旧版本的 openssh 客户端,您可以使用代理命令

答案2

设置并尝试有多难?例如使用$SSH_CONNECTION环境变量:

USER:~$ ssh TUNNEL -p 22222 'echo $SSH_CONNECTION'

但是第一个连接会创建端口转发,这对于使用它的应用程序来说是透明的。因此,第二个 TCP 连接从 USER 机器开始,到达 TUNNEL 机器,然后从那里透明地转发到 TARGET 机器。因此,一旦 TARGET 询问连接来自哪里,他就会获得 USER 的真实公共 IP 地址。

相关内容