有人可以解释以下 ssh 隧道是如何工作的吗?
ssh root@localhost -P 2222 -pw 1234 L 3300:remote_WIN_machine1:3389
此 ssh 命令从 Linux 计算机运行,而远程主机是 win 计算机
所以我有点困惑它是如何创建从 Linux 到 win 的隧道的?是否可以?
如果这是真的,一旦我们创建了隧道那么接下来怎么办? ,我们可以从 Linux 上进行哪些操作来赢得机器?
答案1
这看起来像是 Linux 主机被配置为某种 RDP 网关。该命令将启动与其自身的 SSH 会话 ( root@localhost
),在端口 3300 ( ) 上启动本地侦听器,L 3300:
以将所有流量转发到端口 3389 ( ) 上的 Windows 计算机(remote_WIN_machine1:3389
典型的 RDP)。
我怀疑该GatewayPorts
指令设置为 yes,/etc/ssh/sshd_config
以便侦听器接受流量并将其从远程主机转发到 Windows 主机。在这种情况下,远程主机可以通过此 Linux 主机访问 Windows 主机,方法是启动远程桌面会话:rdesktop -u username linuxhost:3300
答案2
看起来您设置了某种代理来侦听 TCP:3300 端口并将所有流量转发到远程 Windows PC RDP(远程桌面)端口。
然后,所有流向 TCP:3300 的流量将通过 RDP 端口转发到远程 Windows PC,因此您可以使用常规 RDP 客户端连接到它。
当然,您需要在 Windows PC 和 Linux 服务器之间有现有的网络路由。
如果您需要有关 SSH 隧道的更多信息,您可以查看这里。