通过ssh协议,用笔记本来远程控制我的台式主机(ubuntu18.04)作为服务器跑程序,由于台式机不是公网ip,且两台机器不是一个网段,所以,无法通过ssh协议连接。因此,采用frp内网穿透,通过租借阿里云服务器(centos7.3),获得公网ip,进行端口映射,从而使我们能够访问到我们的台式主机。

第一步,安装mobaxterm,一款十分好用的全能终端神器。附上下载链接:https://mobaxterm.mobatek.net/download.html

点击选择free版本:

注意:客户端和服务器都需要安装mobaxterm,即笔记本和台式主机。

云服务器内网映射 云服务器怎么映射_linux


点击选择portable版本:

云服务器内网映射 云服务器怎么映射_阿里云_02


下载之后,进行解压安装。

接下来,我们需要一个公网ip地址,这边,我建议可以去阿里云服务器学生专区进行学生认证,可以租借到10元一个月的轻量级服务器,附上链接:
https://developer.aliyun.com/plan/grow-up?utm_content=se_1007159595

选择第一个,9.5一个月的服务器即可

云服务器内网映射 云服务器怎么映射_云服务器_03

在购买完服务器之后,我们便可以登入我们的控制台,选择我们刚刚购买的轻量服务器(初始化系统镜像时,建议选择centos7.3)。

云服务器内网映射 云服务器怎么映射_云服务器_04

这边这个ip地址就是阿里云提供的具有公网ip的服务器。

点击进入服务器控制页面,点击远程连接,我们可以输入一个服务器密码,这个密码一开始是用来连接服务器的,在后面,为了服务器的安全,防止有人暴力破解,我们可以进行密钥登录,禁用密码。但是,目前建议先设置一个密码。

云服务器内网映射 云服务器怎么映射_linux_05

设置完密码之后,我们需要点击防火墙那一栏,点击修改,开放两个端口,我选择的是7000和6000两个端口,用来进行端口映射。

云服务器内网映射 云服务器怎么映射_云服务器内网映射_06


现在,我们已经拥有了公网ip和端口,接下来就需要进行内网穿透。这边我们用的是github上一位大佬开源的frp项目,附上链接:

https://github.com/fatedier/frp frp下载链接:https://github.com/fatedier/frp/releases

根据自己的系统,选择对应的版本,

注意:frp是需要运行在阿里云服务器和自己要用来当服务器的台式主机上的,所以我们下载完frp后,需要在阿里云服务器和自己的台式主机上分别解压缩。

云服务器内网映射 云服务器怎么映射_云服务器内网映射_07


具体步骤:

1、先通过mobaxterm登上我们的阿里云服务器

在mobaxterm上点击session,选择ssh,

云服务器内网映射 云服务器怎么映射_云服务器内网映射_08

2、然后,remote host 输入你的阿里云服务器的公网ip,specify username输入root,port输入阿里云的ssh端口,22端口。

云服务器内网映射 云服务器怎么映射_ssh_09

进入后,会如下图显示:

云服务器内网映射 云服务器怎么映射_云服务器内网映射_10

3、这就是centos7.3的命令行界面了,我们可以在github上下载刚刚的frp压缩包,然后拉到左边的/root/文件夹下面进行压缩,也可以在右边的终端里面进行指令操作。

$wget https://github.com/fatedier/frp/releases/download/v0.34.2/frp_0.34.2_linux_amd64.tar.gz
$tar -xzvf frp_0.34.2_linux_amd64.tar.gz

解压缩结束后,root文件夹下面会出现一个frp文件夹(也可能是frp_0.34.2xxx之类的名字,重命名为frp即可),点进去,会看到一堆配置文件,在阿里云服务器这边,我们只需要修改frps.ini这个配置文件,内容修改如下,保存退出。

云服务器内网映射 云服务器怎么映射_云服务器_11


在我们的台式主机上,即需要被访问的主机上,同样下载解压缩frp,点击进入解压缩文件夹,修改frpc.ini配置文件如下:

云服务器内网映射 云服务器怎么映射_linux_12

server_addr为你自己的公网ip
server_port修改为frpc.ini中修改的bind_port:7000
remote_port 修改为你开放的另一个端口,这个端口也是你远程访问你的主机的端口。我设置的6000。
其余参数与上图一致即可。
注意,这些端口一定要在阿里云防火墙那边打开才能使用。

好了,现在一切配置完成,我们可以进行内网穿透,远程连接了。
首先,我们通过mobaxterm进入到刚刚的阿里云服务器(记得进入阿里云服务器选22端口),在命令行cd到我们的frps.ini所在的文件夹下,输入指令:

./frps

然后到我们的ubuntu台式主机上,同样cd到frp文件夹,在命令行输入

./frpc

这两个指令输入都会出现success的提示,如果没有success建议查一下端口和ssh协议服务是否安装。

最后,在我们的笔记本,即需要进行远程访问的机器上,打开mobaxterm,选择new session,同样的,输入阿里云的公网ip,注意specify name 记得填写你的主机账户名称,port选择你在frpc.ini中配置的remote_port,我的是6000,然后根据要求输入你的密码,就可以进入主机,从而实现不同网段,内网主机的远程连接。

云服务器内网映射 云服务器怎么映射_阿里云_13

这是连接上之后的页面:

云服务器内网映射 云服务器怎么映射_云服务器内网映射_14

通过mobaxterm终端,可以看到我们主机上的所有文件夹,从而进行一系列的终端操作。
注意:在配置内网穿透之前,我们一定要看一下我们的主机上有没有安装ssh协议服务!!!虽然,linux系统好像自带ssh协议,但也有可能因为一些remove指令误删了,切记。

最后的最后,为了服务器的安全性,我建议在阿里云服务器和主机服务器上配置公钥密钥,禁用密码,笔记本这一端可以通过密钥登陆服务器,具体教程过段时间会再出。