![ssh 到位于 Linux 防火墙后面的 Windows 服务器](https://linux22.com/image/1296314/ssh%20%E5%88%B0%E4%BD%8D%E4%BA%8E%20Linux%20%E9%98%B2%E7%81%AB%E5%A2%99%E5%90%8E%E9%9D%A2%E7%9A%84%20Windows%20%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我到处找了,还是没找到答案。如果这是重新发布的话,我很抱歉。
我的家庭网络设置如下:
外部 -> Linux 防火墙/网关 -> Windows 服务器
我希望能够创建到防火墙的 ssh 连接,然后启动与 Windows Server 的远程桌面会话。
Windows 计算机和防火墙之间没有其他防火墙。否则,RDP 在 LAN 上工作
以下是我迄今为止使用的命令:
ssh -v -L 13389:<Windows Server LAN IP>:3389 username@externalIP
连接正常,并且我收到了防火墙命令提示符。
当我启动 RDP 连接时本地主机:13389我收到以下错误:
debug1: channel 3: new [direct-tcpip]
channel 3: open failed: connect failed: Connection refused
debug1: channel 3: free: direct-tcpip: listening port 13389 for <WindowsIP> port 3389, connect from 127.0.0.1 port 65161, nchannels 4
我不明白问题是什么,或者我遗漏了什么。谢谢大家的帮助!
答案1
当您在 RDP 会话中说“localhost:13389”时,您是在告诉远程桌面客户端您想要连接到您自己的机器(除非您在 hosts 文件中对 localhost 进行了一些非标准的重新映射)。
您需要在 RDP 连接中使用 Windows 服务器的主机名或 IP 地址。
(这还假设您的名称解析和路由与您的 SSH 会话一起正常工作。)