我如何使用 Putty 或 plink 在 Windows 電腦上複製這些 ssh 命令?

我如何使用 Putty 或 plink 在 Windows 電腦上複製這些 ssh 命令?

我試圖了解以下設定的連接流程,以便我可以使用 windows putty 或 plink 複製遠端命令。

我有 3 台電腦:本地 - 中間 - 遠端

在本機電腦上我執行以下命令

ssh -R 10022:localhost:22 -i /location/to/key i-user@intermediate-ip -p 22

根據我的理解,上述命令允許中間伺服器上透過連接埠 10022 連接的任何人透過連接埠 22 透過隧道返回到本機。

下一個命令由遠端電腦上的某人執行

ssh -D 3456 -J i-user@intermediate-ip -i ~/.ssh/id_rsa local-user@localhost -p 10022 -i ~/.ssh/id_rsa

這部分讓我感到困惑。基本上我們是透過 sshing 進入中間伺服器,然後從那裡通過連接埠 10022 sshing 進入本地電腦?但是動態連接埠轉送呢?這是如何運作的?是在本機上執行的嗎?它如何流過隧道?

我相信如何設定 putty 進行 3 跳 ssh 隧道連線?回答如何使用 plink 從遠端到中間,但是我仍然不明白如何從中間跳到本地並實現動態連接埠轉發。


如果我解釋得不夠好,這裡是遠端電腦命令的詳細輸出

調試日誌顯示

Setting implicit ProxyCommand from ProxyJump: ssh -l i-user -vvv -W '[%h]:%p' intermediate-ip
debug1: Executing proxy command: exec ssh -l username -vvv -W '[localhost]:10022' intermediate-ip
resolving "intermediate-ip" port 22
Connecting to intermediate-ip [intermediate-ip] port 22.
Connection established.
Authenticated to intermediate-ip ([intermediate-ip]:22).
ssh_init_stdio_forwarding: localhost:10022
Authenticating to localhost:10022 as 'd-user'
put_host_port: [localhost]:10022
Authenticated to localhost (via proxy).
Local connections to LOCALHOST:3456 forwarded to remote address socks:0
Local forwarding listening on ::1 port 3456
Local forwarding listening on 127.0.0.1 port 3456

相關內容