一:需要准备一台具有公网IP的服务器(称外网服务器),校内linux服务器(称内网服务器),本地端。
这里的外网服务器便使用的是阿里云提供的免费服务器。
二:过程
首先需要在外网服务器上下载frp:(引号内内容为终端命令)
1."cd /home/用户名"进入相应用户目录
2."mkdir ~/frp"建立frp文件夹然后"cd frp"
2."wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz"下载frp
4."tar -zxvf frp_0.38.0_linux_amd64.tar.gz"解压,"cd frp_0.38.0_linux_amd64"
5.在内网服务器上重复1-4步.
6."vim frps.ini",在外网服务器上修改frps的配置文件
[common] # frp监听的端口 bind_port = 7000 # 授权码 token = 12345678 # frp管理后台端口,可以自定 dashboard_port = 7500 # frp管理后台用户名和密码,后面登录浏览器会用到 dashboard_user = admin dashboard_pwd = password enable_prometheus = true
7.进入阿里云服务器控制台
添加如下规则
8.将frps相关文件复制到linux系统对应文件夹下,使用systemctl start frps命令启动frps服务
cd ~/frp/frp_0.38.0_linux_amd64/ sudo mkdir -p /etc/frp sudo cp frps.ini /etc/frp sudo cp frps /usr/bin sudo cp systemd/frps.service /usr/lib/systemd/system/ sudo systemctl enable frps sudo systemctl start frps
接着打开浏览器输入"外网服务器IP地址:7500",可进入frps服务后台
此处输入frps.ini里面配置的dashboard相关内容
成功进入后台
9.进入内网服务器的frps解压地址,"vim frps.ini"
# 服务端 [common] server_addr = 外网服务器ip server_port = 7000 token = 12345678 #必须和外网服务器的一致 # ssh [ssh7501] type = tcp # 不要修改 local_ip = 127.0.0.1 # 不要修改 local_port = 22 # 不要修改 remote_port = 7501 #这个端口号可以自定义,用于指定内网服务器编号
10.同第7点操作,开放7501端口
11.将frps相关文件复制到内网服务器linux系统的对应位置,使用"sudo systemctl start frpc"启动frps服务,并让内网服务器使用frps连接外网服务器
cd ~/frp/frp_0.38.0_linux_amd64/ sudo mkdir -p /etc/frp sudo cp frpc.ini /etc/frp sudo cp frpc /usr/bin sudo mkdir /usr/lib/systemd/system/ sudo cp systemd/frpc.service /usr/lib/systemd/system/ sudo systemctl enable frpc # Created symlink from /etc/systemd/system/multi-user.target.wants/frpc.service to /usr/lib/systemd/system/frpc.service. sudo systemctl start frpc
如下图便连接成功
三、使用相关
现在位于校外的本地端需要修改ssh使用方法,例如"ssh -p 7501 root@外网ip",如此便可连接内网服务器了
实测此种办法可以实现ssh无密码登录,vscode的remoter server功能,pycharm remotessh解释器功能都可以实现。只不 过应当使用-p命令指定端口,而这个被指定的端口便唯一确定了一台内网服务器