Networking
通過 ssh 隧道的連接如何出現在主機上
不知道如何命名問題,但情況如下:
我有 3 台伺服器:
USER
,TUNNEL
,TARGET
在
TUNNEL
我執行命令
TUNNEL:~$ ssh -nNT -L 0.0.0.0:22222:localhost:22 TARGET
這使我能夠
USER
通過TARGET
連接到TUNNEL
埠 22222來 ssh
USER:~$ ssh TUNNEL -p 22222
問題是:從這個
TARGET
角度來看,連接是否會顯示為來自USER
orTUNNEL
?
如果您通過轉發埠連接到伺服器,它將被視為源自本地。
提示:您可以使用*ProxyJump直接連接到目標。它可以用作
$ ssh -J user@TUNNEL user@TARGET
. 如果您有舊版本的 openssh 客戶端,您可以使用ProxyCommand*。
設置並嘗試有多難?例如使用
$SSH_CONNECTION
環境變數:USER:~$ ssh TUNNEL -p 22222 'echo $SSH_CONNECTION'
但是第一個連接會創建埠轉發,這對於使用它的應用程序來說是透明的。所以第二個 TCP 連接在 USER 機器上開始,到達 TUNNEL 機器並從那裡透明地轉發到 TARGET 機器。所以一旦 TARGET 詢問連接來自哪裡,他就會得到 USER 的真實公共 IP 地址。