linux - SSH 隧道到 Ngrok 并启动 RDP

标签 linux ubuntu ssh ngrok

我正试图从世界任何地方访问我的 Linux 机器。我最初尝试过端口转发,然后 ssh 进入;但是,我相信我学校的 WiFi 不允许端口转发(每次我运行它时,它都会告诉我连接被拒绝)。我已经使用 ngrok 设置了一个帐户,我可以远程 SSH 登录,但现在我想知道是否可以使用 RDP。我尝试通过 Mac 上的 Microsoft Remote Desktop 应用程序进行连接,但它立即崩溃了。我也看过尝试与本地主机连接,但它不起作用。到目前为止,我已经尝试过(xxxx 是端口):

ssh -L xxxx:localhost:xxxx 0.tcp.ngrok.io

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

但我的电脑不允许,大约 2 或 3 次后,它警告我可能存在 DNS 欺骗。无论如何,我可以运行我的 linux 机器的远程桌面,我在 ngrok 上通过 ssh 隧道连接到(从我的 mac)?谢谢!

最佳答案

首先,您需要 sign up with ngrok如果您还没有,您将获得一个授权 token 。您需要通过运行来安装它

./ngrok authtoken <insert your token here>

这会将您的 token 保存到位于 ../username/.ngrok/ngrok.yml 的文件中

然后你需要请求 ngrok 到 create a TCP tunnel从他们的服务器到您本地机器的远程桌面端口,默认情况下应该是 3389

ngrok tcp 3389

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

现在您应该可以使用地址 1.tcp.ngrok.io:158764 远程访问您的机器了

关于linux - SSH 隧道到 Ngrok 并启动 RDP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42442320/

相关文章:

c++ - 在 Linux 上设置链接库

Ruby Sinatra - 为公共(public)文件夹中的文件添加自定义路由

Git SSH 协议(protocol)记住密码

linux - 如何查找特定模式并打印该模式上方和下方的所有内容,直到到达指示器 (LINUX)?

Linux:哪些程序正在访问 Internet?

php - Laravel 500 错误没有日志

linux - 打印文件 bash 列中的所有内容

linux - 通过 ssh 执行脚本时在 bash 中设置 env 变量

linux - shell脚本匹配来自另一个文本文件的数据

git - 无法使用 ssh key 克隆 Gitlab 私有(private)仓库。 key 验证不起作用