用到的设备

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

frp下载

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

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 &        #后台运行

测试

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

 ssh pi@公网ip -p 6000

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