如何使用 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

这部分让我很困惑。基本上,我们是通过 ssh 进入中间服务器,然后从那里通过端口 10022 ssh 进入本地计算机?但是动态端口转发呢?它是如何工作的?它是在本地计算机上执行的吗?它是如何通过隧道传输的?

我相信如何配置 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

相关内容