利用Ngrok实现内网穿透,并访问局域网下的openssh服务器
Contents
引子
事情的最初是实验室同门乾任和我,发现实验室一台没有人用的电脑具有两张3090显卡。我们问了一圈实验室,大家都忘记了密码,于是我们为这台电脑重新安装了linux系统以及openssh等远程工具(安装过程很简单,略)。这使得我们得以在终端,vscode,mobaxterm等中便捷地远程访问服务器的环境(炼丹)。
简单来说,在校园网之下,我们只需要以下一行代码,便可以访问服务器:
|
|
运行示例:
然而,上述方法无法使得我们在非校园网的情况下访问服务器,主要原因是实验室服务器并没有一个公网ip地址。
Ngrok内网穿透
我们可以使用免费内网穿透工具Ngrok解决该问题。(安装过程很简单,略)
在内网或者使用向日葵登陆服务器,运行如下代码即可:
|
|
接下来,我们有如下结果:
基于此,我们在公网下可通过如下代码访问课题组服务器:
|
|
需要注意的是: 由于我们使用的是免费版 ngrok,每次运行
ngrok tcp 1220
所得到的公网 URL 以及端口号都是随机的。因此,每当服务器重新启动,我们需要更改上述代码。
运行示例: