前言:
实验室的服务器只能在内网访问,在外面就不能连接服务器,非常不方便,于是想通过外网穿透的方式,在不连接实验室局域网的情况下连接到实验室的服务器。
本人用的natapp软件,亲测可用,其实natapp就是一个中转站,可以实现本机与远程服务器之间的链接。
被访问端(服务器)环境:ubuntu16.04(64位),natapp
访问端(PC)环境:win10,xshell
另附上Pycharm连接服务器与xshell操作远程服务器的相关教程
机器学习中 如何使用 Pycharm 将代码上传到远程服务器上
机器学习中 远程终端模拟器 Xshell的使用,及一些常用的命令
一. 安装natapp
1. 到官网注册:https://natapp.cn/register
2. 客户端下载:https://natapp.cn/#download
红框中下载到的文件为:natapp_linux_amd64_2_3_8.zip
3.上传服务器,并解压
二. 免费隧道配置
1. 购买免费隧道:https://natapp.cn/tunnel/buy
免费隧道的IP和端口会经常改变,不太好用,个人建议,免费先用来做测试,可以的话,买个VIP_3基本就够用
2. 配置隧道
点左边的“我的隧道”,然后在“我的隧道”里点“配置”,如下图:
主要修改“本地地址”部分,把本地地址改成你在内网登录的地址,以及对应的端口。
三. 开启外网穿透(在服务器上操作)
1. screen操作简介
因为要保持natapp软件始终保持在开启状态,所以我们需要用screen 命令创建一个进程,然后在这个进程下,执行下面的操作。在我们训练模型时往往需要花很多的时间和精力,如果我们直接在主界面下进行模型的训练,一旦我们关闭这个会话,那么模型的训练也就到此结束了,所以我们一般都会先创建一个进程,在这个进程中去训练我们的模型,即使我们推出会话,训练还会继续,当我们需要查看训练过程时,只需再次进入这个会话即可。常用的命令如下:
screen -S denoising 创建一个名字为denoising的会话 ,注意S是大写的
接下来就可以在创建的进程中 cd到相应的文件夹下,运行需要用到的程序
(ctrl+a) + d 同时按下ctrl 和a键,然后松手后 按下 d 键,即可回到主界面,此时程序处于继续运行的状态
ctrl + c 如果不想让程序继续运行,则可以使用此方法中断程序运行,并回到主界面
screen -ls 查看之前创建的进程的进程编号
screen -x 进程编号 进入该进程
2. cd到natapp所在的目录下
3. 给natapp执行权限:
chmod a+x natapp
4. 运行:
./natapp -authtoken=9ab6b9040a624f40
其中,=号后面的密钥需要改成你自己的密钥,你的密钥在:
5. 运行得到:
其中:蓝色部分是外网链接的ip,绿色是外网链接的端口,红色是内网链接的ip和端口,呈映射关系。
6. 登录
登录的账户和密码是远程服务器上自己创建的账号和密码
用xshell登录,上图与上上图的参数对应颜色。
四. 登录成功
五、对应Pycharm上的连接
这里要注意的是,地址IP和端口是Natapp的,账户和密码是远程服务器自己创建的