深圳幻海软件技术有限公司 欢迎您!

FRP+阿里云服务器内网穿透服务器,VS code连接桥接机器

2023-03-25

文章目录1.购买阿里云服务器2.搭建FRP3.测试连接4.多个内网服务器5.VSCode直连写代码参考:1.购买阿里云服务器购买轻量级服务器即可:https://developer.aliyun.com/plan/grow-up然后选系统镜像,建议Ubuntu,因为服务器主机也是Ubuntu系统。2

文章目录

    • 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

  1. 插件里面安装Remote-SSH,搜索安装
  2. 配置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

文章知识点与官方知识档案匹配,可进一步学习相关知识
云原生入门技能树首页概览11103 人正在系统学习中