用到的设备

  • 一台具有公网ip的服务器(我使用的是阿里云服务器)
  • 一台内网主机(我使用的是树莓派4b)

frp下载

frp下载网址:https://github.com/fatedier/frp/releases
根据设备系统自行选择对应的版本下载

frp包里有如下文件

服务器端需要更改frps.ini文件

客户端需要更改frpc.ini文件

服务器端配置

  1. 下载linux版本的frp
wget https://github.com/fatedier/frp/releases/download/v0.35.1/frp_0.35.1_linux_amd64.tar.gz
  1. 解压到/usr/local/目录下(可自定义解压目录)
tar -zxvf frp_0.35.1_linux_amd64.tar.gz -C /usr/local/
  1. 文件夹重命名为frp(此步骤可省略,改个名只是为了输入方便)
mv /usr/local/frp_0.35.1_linux_amd64 /usr/local/frp
  1. 切换到目标文件夹
cd /usr/local/frp
  1. 删除客户端配置相关文件(此步骤可省略,删除只是为了看着舒服)
rm -f frpc*
  1. 配置文件frps.ini
vim frps.ini
[common]
bind_port = 7777        #选择一个没有被占用的端口号 确保服务器已开放此端口
  1. 运行服务
./frps -c frps.ini                    #直接运行

nohup ./frps -c ./frps.ini &        #后台运行

客户端配置

与服务器端的配置类似

  1. 树莓派4b需要下载arm架构的frp(我装的是32位的raspbian系统,所以下载的是32位的)
wget https://github.com/fatedier/frp/releases/download/v0.35.1/frp_0.35.1_linux_arm.tar.gz
  1. 解压到/usr/local/目录下(可自定义解压目录)
tar -zxvf frp_0.35.1_linux_amd64.tar.gz -C /usr/local/
  1. 文件夹重命名为frp(此步骤可省略,改个名只是为了输入方便)
mv /usr/local/frp_0.35.1_linux_amd64 /usr/local/frp
  1. 切换到目标文件夹
cd /usr/local/frp
  1. 删除服务器端配置相关文件(此步骤可省略,删除只是为了看着舒服)
rm -f frps*
  1. 配置文件frpc.ini
vim frpc.ini
[common]
server_addr = 此处填服务器公网ip
server_port = 7777             #此处要与服务器端frps.ini文件中bind_port相同

[ssh]
type = tcp
local_ip = 192.168.31.65     #内网主机的ip
local_port = 22             #ssh的默认端口
remote_port = 6000             #自定义的访问内部ssh端口号,确保服务器已开放此端口
  1. 运行服务
./frpc -c frpc.ini                    #直接运行

nohup ./frpc -c ./frpc.ini &        #后台运行
  1. 设置开机自启

测试

远程登录内网主机(树莓派):

ssh pi@公网ip -p 6000

输入yes然后根据提示输入密码即可连接成功