通过SSH转发端口的Microsoft远程桌面


10

我遇到一种情况,我可以通过使用SSH将远程桌面端口3389从我的Mac转发到否则无法访问的网络的“内部”来提供对Windows服务器的访问。

我现在可以连接Windows版本的远程桌面,但是Mac版本的远程桌面超时,并且不提供访问权限。即使使用IP号码作为要连接的主机,也是如此。

知道为什么会发生这种情况以及如何解决吗?


由于更改了软件,这仍然是理想的。打开赏金。
托尔比约恩Ravn的安徒生

您是否尝试使用较新的客户端2.1.2?
Ruskes 2013年

还没。我有2.1.0。谢谢,我将尝试升级。
托尔比约恩Ravn的安徒生

对于这种情况,我保留了一个装有Windows的虚拟盒子。可悲的是,我很想让事情在Mac上本机运行-但是当客户端不能或不会给我适当的VPN时-运行操作系统会戳破漏洞(或更糟的是依赖于非标准的一次性行为)。最后,他们的防火墙对我来说工作量要少得多。毕竟-我正在运行RDC来查看窗口,所以对于在本地运行该操作系统也无关紧要。由于您明确需要Mac客户端,因此您可以通过ssh进入VPN连接吗?
bmike

如果您仅通过telnet localhost:forwarded端口在Mac上会发生什么?它能按预期工作吗?听起来您的ssh隧道有问题。
db 2013年

Answers:


6

不要转发本地端口3389,各种版本的远程桌面都太聪明了。

我通常的步骤涉及将本地3390转发到远程3389。然后,在MacRDC中,我也使用:localhost:3390作为连接的地址。

我不知道您是否在使用任何工具来协助ssh连接设置,但是从命令行来看,它类似于:

ssh -L 3390:172.16.5.32:3389 jason@remote.net

哪里;
- 3390是我盒子上的本地转发端口。
- 172.16.5.32是远程Windows主机。和;
- 3389是远程桌面端口(显然)。


我对此进行了尝试,但不幸的是,通过端口3390也不起作用:(我尝试将Windows服务器的主机名添加到/ private / etc / hosts(别名为127.0.0.1),以查看是否可以傻瓜。任何“找HOST”的机制,但没有什么Windows版本是针对这个,什么适用于Mac的远程桌面的版本?
托尔比约恩Ravn的安德森

MacRDC 2.0.1和Windows RDC已经很久了,我无法告诉您。我似乎还记得Windows XP及以后版本的股票Mstsc发生的情况。
詹森·萨拉兹

您的原始评论意味着localhost:3390在RDC窗口中不起作用?而且您也尝试过myhost:3390(在hosts文件的127.0.0.1行中使用myhost作为别名),也无济于事?
詹森·萨拉兹

另外,您在终端窗口中得到任何输出吗?通道故障或类似问题?MacRDC应用程序外部是否有任何错误消息?
詹森·萨拉兹

现在,我再次进行了查看,包括“ myhost-> localhost”黑客,看来这还不够。车轮在MacRDP中旋转以尝试连接,但仍然超时。Console.app中没有消息。我使用自定义工具进行端口转发(没有ssh访问)。我真的很想知道它试图做什么会失败。
托尔比约恩Ravn的安徒生

5

在您的Mac上,也许尝试以下解决方案:

  • 安装sshuttle(实现ssh隧道/代理,但也实现一些路由更改)(https://github.com/apenwarr/sshuttle.git
  • 将sshuttle配置为仅路由要到达的Windows框的IP地址:

    sshuttle --dns -r YourUserName@YourSSHBox.com 1.1.1.1/32

    更换:

    Windows主机的IP地址为1.1.1.1/32。如果需要访问多个主机,并且它们位于同一子网中,则可以将/ 32更改为更宽的名称,例如/ 24。

  • 启动Mac RDP客户端,并尝试访问Windows计算机的IP地址。如果您也将DNS查询转发到用作桥接的框中,则也许可以使用主机名。

这是-D3389方法的一种变体,但是采用了ssh的socks proxy功能。


1
令人印象深刻...干得好。
Ruskes

五年过去了,仍然是解决此问题的最佳解决方案。
哈桑

3

Windows远程桌面实现了Windows特有的更多身份验证和加密算法。这经常发生在我们身上,实际上,由于我们使用的是OSX未实现的身份验证方法,因此我们的网络管理员被迫使用Windows远程桌面。让我们用手指交叉,希望微软发布Windows级远程桌面的匹配版本。


您对我有什么建议让MacRDP不超时吗?
托尔比约恩Ravn的安徒生

如果超时,则根本无法建立连接。无论哪种方式,随着Windows成功连接,我的猜测是身份验证或加密!:)
2013年

3

您是否尝试从目标计算机上的“控制面板->系统->允许远程访问”中禁用对“网络级别身份验证”的要求?

本机级别身份验证


他能够与Windows RDP连接安装..所以,是的,他确实已经:)
19H

1
2.1.1版增加了对NLA的支持-请参阅macupdate.com/app/mac/8431/microsoft-remote-desktop-connection在建立远程桌面连接之前,验证基于Windows的计算机的身份。当您连接到运行Windows Vista或Windows 7的计算机时,可以选择此选项。网络级身份验证比Windows早期版本中的身份验证选项更安全。 如果禁用此要求(我们谈论最后一个复选框),那么他应该能够通过SSL隧道使用2.1.0客户端登录。
brablc

抱歉,没有看到您想要指出镜头中的NTLM部分。也许值得一试!
2013年

我实际上不确定NLA是否与NTLM有关。NLA只是尝试在将登录屏幕带给用户之前验证凭据。这消除了一个攻击媒介。但是他的Windows在防火墙后面,因此他不需要考虑这一点。
brablc 2013年


1

OSX Microsoft远程桌面客户端似乎不支持Windows 7+使用的默认身份验证方法

解决方案是在Windows计算机上执行以下操作:

  • 开始->编辑组策略
  • 电脑配置

    • 管理模板

      • Windows组件

        • 远程桌面服务
        • 远程桌面会话主机

          • 安全

            1. “要求使用特定于远程桌面(RDP)的连接”更改为“ 启用,然后从下拉列表中选择“ RDP ”。

            2. 更改“使用网络级身份验证要求进行远程连接用户认证”,以禁用

现在,您应该可以使用OSX远程桌面客户端通过SSH隧道进行连接,而不会出现任何问题。


当尝试创建到Windows计算机的SSH隧道时,我也遇到了这个问题。在Windows上使用Putty进行操作时效果很好。但是,在OSX上创建完全相同的隧道,只是过了一会儿就超时了。如果根本不设置隧道,则远程桌面客户端将立即失败,因此我知道它正在获得某种连接。
2014年

-1

有时只需更新软件即可解决问题。

在此处输入图片说明

在等待操作系统之前,应确保具有正确版本的WRDC。

由于您拥有过时的2.1.0,因此应更新至以下之一。版本 来自Microsoft或最新版本的2.1.1。2.1.2。从下面。

http://www.cloud9realtime.com/Guides/Macintosh%20RDP%20Guide.pdf

在此处输入图片说明

如果更新软件无济于事,并且您无法使用IP地址,主机名或计算机名进行连接,则端口3389可能在WAN中被阻塞。

要测试ssh隧道设置,请尝试远程登录到本地计算机上的端口。


请至少添加链接:-)另外:这仅仅是猜测还是您已验证它可以解决探针问题?
nohillside


@patrix我没有要验证的设置,但是我读了一下。
Ruskes 2013年

1
目前,答案似乎更多是猜测,而不是解决方案。从匿名的Dropbox帐户下载Beta版软件也不是胆小鬼!
nohillside

1
2.1.1是免费下载,供那些想要的人下载。谷歌将让你有,但至少在目前这个环节展示可用下载:microsoft.com/en-us/download/...
蒂姆·乙

-2

转发到端口3389肯定会给您带来麻烦。系统将识别出您要执行的操作,并基本上使自身短路。这是DIY 远程桌面的缺点,恕我直言。


1
那么,为什么它可以与Windows远程桌面一起使用,却不能与Mac版本的远程桌面一起使用(也来自Microsoft)?
托尔比约恩Ravn的安德森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.