文章目录
- 1. 购买阿里云服务器
- 2. 搭建FRP
- 3. 测试连接
- 4. 多个内网服务器
- 5. VS Code直连写代码
- 参考:
1. 购买阿里云服务器
购买轻量级服务器即可:https://developer.aliyun.com/plan/grow-up
然后选系统镜像,建议Ubuntu,因为服务器主机也是Ubuntu系统。
2. 搭建FRP
进入阿里的控制台,产品与服务,轻量应用,从服务器列表能找到服务器。
点击进入,服务器运维-远程连接:
进入服务器后,正常ubuntu终端操作,同时下方有公网的IP地址,这个记住
从此处下载FRP:https://github.com/fatedier/frp/releases,公网和内网服务器都需要下载
$ wget https://github.com/fatedier/frp/releases/download/v0.35.1/frp_0.35.1_linux_amd64.tar.gz
$ tar -xzvf frp_0.35.1_linux_amd64.tar.gz
- 1
- 2
- 阿里云服务器,修改
frps.ini
:
[common]
bind_port = 7000 #frp服务端端口(必须)
- 1
- 2
- 内网服务器,修改
frpc.ini
:
[common]
server_addr = xxx.xxx.xxx.xxx #frp服务端地址,必须是公网ip或者域名,这里假设为xxx.xxx.xxx.xxx
server_port = 7000 #frp服务端端口,即填写服务端配置中的 bind_port
[ssh]
type = tcp #连接类型,填tcp或udp
local_ip = 127.0.0.1 #填127.0.0.1或内网ip都可以
local_port = 22 #需要转发到的端口,ssh端口是22
remote_port = 6000 #frp服务端的远程监听端口,即你访问服务端的remote_port就相当于访
#问客户端的 local_port,如果填0则会随机分配一个端口
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
这时候,进入阿里云服务器的后台,安全-防火墙:
添加规则,把6000和7000口都加上,不然无法访问:
然后各自在各个服务器运行程序,注意不能断电,除非把下述命令加入开机自启:
- 公网服务器(阿里云):
$ nohup ./frps -c frps.ini &
- 1
查看 nohup.out 的信息,success才行:
$ tail -f nohup.out
- 1
正常出现:
2018/09/17 21:34:01 [I] [service.go:130] frps tcp listen on 0.0.0.0:7000
2018/09/17 21:34:01 [I] [root.go:207] Start frps success
2018/09/17 22:06:02 [I] [service.go:319] client login info: ip [125.71.229.32:60516] version [0.21.0] hostname [] os [linux] arch [amd64]
2018/09/17 22:06:02 [I] [proxy.go:217] [7940291c148c2fca] [ssh] tcp proxy listen port [6000]
2018/09/17 22:06:02 [I] [control.go:335] [7940291c148c2fca] new proxy [ssh] success
- 1
- 2
- 3
- 4
- 5
- 内网服务器:
$ nohup ./frpc -c frpc.ini &
- 1
查看 nohup.out 的信息,success才行:
$ tail -f nohup.out
- 1
3. 测试连接
终端下直接:
$ ssh -p 6000 user_name@server_addr
- 1
注意,username就是内网服务器那个用户名,server_addr就是公网IP
MobaXterm
软件:
Remote host
就是公网IP,即阿里云的IP;Specify username
可以写内网服务器用户名;Port
要注意,是remote port
,前面定义的是6000。
4. 多个内网服务器
配置第二个内网服务器时候,公网服务器不用动了,注意有几个地方需要修改frpc.ini
:
[common]
server_addr = xxx.xxx.xxx.xxx <==这里还是按照上面的假设,公网服务器的ip为xxx.xxx.xxx.xxx
server_port = 7000
[ssh1] <==不同点
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6001 <==不同点
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
这两个不同点不能一样
然后remote_port打开后,记住要去阿里的安全-防火墙把6001也开放了,方法看前面。
然后可以按上述方法连第二台服务器,终端:
$ ssh -p 6001 user_name2@server_addr
- 1
5. VS Code直连写代码
个人喜欢vscode,轻量快捷,不喜欢pycharm,所以只写下怎么连vscode
- 插件里面安装Remote-SSH,搜索安装
- 配置IP:
然后输入
$ ssh user_name2@server_addr
- 1
user_name是内网服务器的用户名,server_addr是公网IP
然后选择第一项,Open Config:
这里前面会写好,但是在User下添加一项,Port,然后是对应得remote port
也可以从设置里面直接打开,按上图格式依次填写,Host和HostName都是公网IP,User是内网服务器用户名:
然后连接该服务器:
然后发现左下角绿色,表示已经连接上,这时候就可以直接在vs code里面写代码,然后在服务器上运行了:
参考:
https://blog.csdn.net/cao0507/article/details/82758288
https://code.visualstudio.com/docs/remote/ssh#_getting-started