SSH隧道连接到Ngrok并启动RDP

13
我想在全球任何地方访问我的Linux机器。我尝试过端口转发和ssh登录,但我相信我的学校WiFi不允许端口转发(每次运行时都会告诉我连接被拒绝)。我已经使用ngrok设置了一个帐户,并且可以远程SSH登录,但现在我想知道是否可能进行远程桌面连接。我尝试在Mac上使用Microsoft远程桌面应用程序连接,但它会立即崩溃。我还尝试了使用本地主机进行连接,但没有成功。到目前为止,我已经尝试过以下方法(其中xxxx是端口号):
ssh -L xxxx:localhost:xxxx 0.tcp.ngrok.io

ssh -L xxxx:localhost:xxxx <user>@0.tcp.ngrok.io

但是我的电脑不允许它,并且大约2到3次后,它会警告我可能有DNS欺骗的情况。是否有任何方法可以在ngrok上运行通过ssh隧道连接的我的Linux机器的远程桌面?谢谢!

1个回答

19

如果您尚未注册,首先需要在ngrok上注册并获取一个认证令牌。您需要通过运行以下命令来安装它:

./ngrok authtoken <insert your token here>

这将把你的令牌保存到一个文件中,该文件位于 ../username/.ngrok/ngrok.yml

然后,您需要要求 ngrok 从其服务器创建一个 TCP 隧道,将其与默认情况下应为 3389 的本地机器远程桌面端口连接起来。详情请参见此处

ngrok tcp 3389

等待约30秒,然后跳转到 http://localhost:4040/status,查看ngrok分配给您的tcp地址。它应该类似于tcp://1.tcp.ngrok.io:158764

现在,您应该能够使用地址1.tcp.ngrok.io:158764远程连接到您的计算机。


4
如果按照上述步骤不能使你的远程桌面客户端连接,确保你的Windows机器已启用了远程桌面功能。这就是我曾陷入的陷阱。 :) - Big Pumpkin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接