不确定如何命名这个问题,但情况如下:
我有 3 台服务器:
USER
,,TUNNEL
TARGET
我TUNNEL
运行命令
TUNNEL:~$ ssh -nNT -L 0.0.0.0:22222:localhost:22 TARGET
这使我能够通过连接到端口 22222USER
来从 ssh 到TARGET
TUNNEL
USER:~$ ssh TUNNEL -p 22222
问题是:从TARGET
视角来看,连接是否会显示为来自USER
或TUNNEL
?
答案1
答案2
设置并尝试有多难?例如使用$SSH_CONNECTION
环境变量:
USER:~$ ssh TUNNEL -p 22222 'echo $SSH_CONNECTION'
但是第一个连接会创建端口转发,这对于使用它的应用程序来说是透明的。因此,第二个 TCP 连接从 USER 机器开始,到达 TUNNEL 机器,然后从那里透明地转发到 TARGET 机器。因此,一旦 TARGET 询问连接来自哪里,他就会获得 USER 的真实公共 IP 地址。