linux - 通过 ssh 隧道路由 RDP

标签 linux windows ssh rdp tunnel

<分区>

我以为我可以在这里轻松找到答案,但没有运气。也许这是不可能的: 假设如下:我坐在星巴克,我的 win 8 笔记本电脑连接到他们的 WLAN。我打开了一个到我的 amazon ec2 micro ubuntu 实例的 ssh 连接。 在我离开家之前的早上早些时候,我从我家的 win 8 机器上打开了另一个到同一个实例的 ssh 连接。 现在从我的腻子终端我可以看到连接 pts/0 和 pts/1 和 netstat -n 给了我两个防火墙(星巴克和我的)的 ip 地址及其 10000+ 端口号以及我的 ubuntu 服务器地址和端口22. 我在 ubuntu 机器上的 ssh 服务器开启了 TCPForwarding。

现在我该如何配置 putty 来建立 rdp 隧道以便访问我的家庭服务器?我是否必须在 ubuntu 实例上做额外的工作才能转发 rdp 数据包?

win-laptop--->starbucks-firewall--->ec2-ubuntu-micro-instance<--my-firewall<--my-win-desktop

感谢您的观众。

最佳答案

如果您的台式机和笔记本电脑都运行 OS X/Linux/BSD,我建议您在台式机上运行:

autossh -R 127.0.0.1:3389:127.0.0.1:3389 your.ec2.instance

在你的笔记本电脑上:

ssh -L 127.0.0.1:3389:127.0.0.1:3389 your.ec2.instance

然后你就可以在你的笔记本电脑上打开一个到本地主机的 rdp 连接,它会被转发到你的桌面。您不需要在 ec2 实例上进行任何额外的配置。我假设您的笔记本电脑上没有运行 RDP 服务器。

那么我们如何使用 Putty 做到这一点? (我在这里略微猜测。)

  • 在左侧 Pane 中选择“连接 → SSH → 隧道”类别
  • 对于“源端口”输入“3389”
  • 对于“目的地”输入“127.0.0.1:3389”
  • 选择“本地”(从您的笔记本电脑连接)或“远程”(从您的桌面连接)
  • 点击“添加”
  • 然后您需要将这些详细信息保存在“ session ”类别中

理想情况下,如果由于某种原因断开连接,您会希望从桌面重新启动连接。 (如果您的家庭互联网与我的一样,它偶尔会出现故障并断开连接。但也许您的家庭互联网比我的更可靠。)

关于linux - 通过 ssh 隧道路由 RDP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15483073/

相关文章:

python - 在 Linux 上 pip 安装 UnicodeDecodeError

linux - 我正在尝试为 xbuild 构建一个 msbuild 项目,但它一直失败

windows - QStringList QCoreApplication::arguments() - 在什么情况下索引 0 不是 Windows 中的应用程序路径?

bash - 在 bash 脚本中的 ssh 中捕获 Ctrl-C

python - 如何生成 SSH 代理签名响应

linux - 如何以编程方式提取每个 TCP 连接的 TCP/IP 计数器?

linux - Mono 在 Ubuntu 上抛出 OutOfMemoryException,但在 OSX 或 Windows 上则不会

windows - 会有 Win64 API 吗?

windows - 无法通过 Ant 运行 Windows 命令,但可以在 cmd.exe 上运行

windows - Linux Powershell 客户端