自己挖坑給自己埋,服務器都弄壞兩次,特來總結以下經驗。
前提准備:公網服務器IP(我的是阿里雲服務器)

你得確保你的服務器開通了端口號,不然連接不成功
阿里雲-網絡安全組配置-添加規則(我是打開了6000-7000之間的所有端口號,你也可以先按我的做)

獲取樹莓派所在局域網的IP地址(我的樹莓派是連的wifi)
打開wifi后台管理器,查看樹莓派連接的ip地址
這時已經獲取到樹莓派所在局域網的ip了:192.168.31.191(我的)
一、ssh到你的公網服務器安裝配置frp服務端frps
1.安裝包
wegt https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_amd64.tar.gz
2.解壓包
tar -zxvf frp_0.32.0_linux_amd64.tar.gz
3.進入解壓包目錄
cd frp_0.32.0_linux_amd64
4.查看frps.ini
nano frps.ini
5.然后在里面編輯 默認內容
[common] bind_port = 7000
ctrl+o保存 enter回車確認 最后ctrl+x退出
6.啟動frps(在frp_0.32.0_linux_amd64里啟動)
./frps -c ./frps.ini
這時候會提示啟動成功,不要關閉我們繼續配置客戶端,只有都啟動了才能連通ssh。
二、安裝配置frp客戶端frpc
1.安裝包
wegt https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_arm.tar.gz
2.解壓包
tar -zxvf frp_0.32.1_linux_arm.tar.gz
3.進入解壓包目錄
cd frp_0.32.1_linux_arm
4.查看frpc.ini
nano frpc.ini
5.然后在里面編輯
[common] server_addr =(你的公網服務器ip地址) server_port = 7000 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000
ctrl+o保存 enter回車確認 最后ctrl+x退出
6.啟動frpc
(在frp_0.32.1_linux_arm目錄里啟動)
./frpc -c ./frpc.ini
這時候顯示成功了
就可以ssh連接你局域網的樹莓派了

端口號記得改成6000
特別提示一定要先成功連接服務端,再連接客戶端,服務端先走!!!
-----------------------常見報錯-----------------------
1.
[ssh] start error: port already used
先找到這個進程
ps -aux|grep frp| grep -v grep
root 3520 0.1 0.1 111188 9484 pts/0 Sl 15:04 0:00 ./frpc -c ./frpc.ini
執行之后如果顯示這樣則成功了
然后kill -9 進程號
kill -9 3520
2.0.0.0.0:7000 already used (小心不要把22端口殺掉了,不然ssh連不上服務器)
提示7000端口已經被使用了
netstat -tanlp 查看tcp進程 sudo kill 2683 殺掉
3.
如果殺掉端口之后再服務端運行報錯,查看你的7000端口有沒有被關閉,關閉了就打開
nc -lp 7000 &(打開7000端口,即telnet)
4.
不要直接運行這種命令

你的機器上沒有這個文件會直接報錯,這個是要自己新建的自啟服務
這個方法比較好用,很方便
sudo vim /lib/systemd/system/frps.service
在frps.service里寫入以下內容
[Unit] Description=fraps service After=network.target syslog.target Wants=network.target [Service] Type=simple #寫你的frps的需要用絕對路徑 ExecStart=/XXX/frps -c /XXXX/frps.ini [Install] WantedBy=multi-user.target
然后就啟動frps
sudo systemctl start frps
再打開自啟動
sudo systemctl enable frps
如果要重啟應用,可以這樣,sudo systemctl restart frps
如果要停止應用,可以輸入,sudo systemctl stop frps
如果要查看應用的日志,可以輸入,sudo systemctl status frps
查看磁盤空間命令: df -hl