plink.exe 远程端口转发到本地机器进行动态端口转发

plink.exe 远程端口转发到本地机器进行动态端口转发

我从两天前开始就一直在尝试做以下事情:

我有一台 Windows 机器,我们称之为 A,还有一台 Linux 机器,称为 B。

A 和 B 之间有防火墙。我想从 Windows 机器 A 远程连接到我的 Linux 机器(远程端口转发到 B),完成后,我想动态地将连接从 Linux 机器 B 端口转发到 Windows 机器 A。

我一直在 Windows 机器 A 上执行以下操作:

plink.exe -v -ssh -C -T -N -R 3310:127.0.0.1:22 root@LinuxMachine -pw MyPassword

在 Linux 机器 B 上:

ssh -v -N -D 127.0.0.1:8080 -p 3310 [email protected]

目标是通过这台 Windows 机器重定向我的所有流量,包括我的浏览器(使用 socks4 代理参数)。我还更改了我的代理链配置文件以指向 127.0.0.1 和端口 3310。

当我在 B 上验证命令时,我在 Windows A 机器上得到了以下内容:

Remote port forwarding from 3310 enabled
Attempting to forward remote port to 127.0.0.1:22
Forwarded port opened successfully
FOrwarded port closed due to local error

我在 Linux B 机器上得到了以下信息:

ssh_exchange_identification: Connection closed by remote host

我一直在排除故障,但我认为我对如何执行远程端口转发和动态端口转发缺乏一些了解。我对这个问题的主要想法是,数据包似乎没有从 Linux B 发送到 Windows A。

我对 Windows A 上的 plink.exe 命令进行了一些更改,但没有成功。

感谢您的帮助!

答案1

当你使用 22 或你设置的特定端口登录时,但传输某些内容时,它会返回不同的端口进行传输,并且该传输端口的范围非常大,因此你需要像 VPN 这样的工具

相关内容