服務(wù)器端
安裝Go語(yǔ)言環(huán)境
yum install go
clone
- 創(chuàng)建文件夾
ngrok_server
cd ngrok_server
git clone https://github.com/inconshreveable/ngrok.git
- 進(jìn)入
ngrok
創(chuàng)建文件夾cert
并進(jìn)入
export NGROK_DOMAIN="ngrok.你的域名.com"
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=$NGROK_DOMAIN" -days 5000 -out rootCA.pem
openssl genrsa -out device.key 2048
openssl req -new -key device.key -subj "/CN=$NGROK_DOMAIN" -out device.csr
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 5000
- 生成好證書(shū)
y
覆蓋
cp rootCA.pem ../assets/client/tls/ngrokroot.crt
cp device.crt ../assets/server/tls/snakeoil.crt
cp device.key ../assets/server/tls/snakeoil.key
- 服務(wù)端編譯 存放目錄
ngrok_server/ngrok/bin
GOOS=linux GOARCH=amd64 make release-server
- 后臺(tái)啟動(dòng)
nohup ./ngrokd -domain="ngrok.你的域名.com" &
客戶端
- 將服務(wù)器上的ngrok源碼文件壓縮
tar -czvf ngrok.tar.gz ./ngrok
傳輸?shù)綐?shù)莓派 解壓tar -xzvf ngrok.tar.gz
刪除ngrok/bin
下的文件
sudo apt install golang
apt install make
cd ngrok
make release-client
- 創(chuàng)建配置文件
touch ngrok.cfg
服務(wù)器需要開(kāi)通2222
和4443
端口
server_addr: "ngrok.你的域名.com:4443"
trust_host_root_certs: false
tunnels:
ssh:
remote_port: 2222
proto:
tcp: "22"
- 啟動(dòng)
./ngrok -config=ngrok.cfg start ssh
后臺(tái)啟動(dòng)
- 創(chuàng)建
touch ngrok.sh
文件 執(zhí)行權(quán)chmod +x ngrok.sh
./ngrok -config=ngrok.cfg start ssh
apt-get install screen
screen ./ngrok.sh
- 連接
ssh -p 2222 ubuntu@ngrok.你的域名.com
開(kāi)機(jī)啟動(dòng)
寫(xiě)絕對(duì)路徑
/etc/init.d
目錄創(chuàng)建文件touch ngrok
case "$1" in
start)
echo "start ngrok service.."
sh /data/ngrok_app/ngrok/bin/ngrok.sh
;;
*)
exit 1
;;
esac
- 文件
/data/ngrok_app/ngrok/bin/ngrok.sh
/data/ngrok_app/ngrok/bin/ngrok -config=/data/ngrok_app/ngrok/bin/ngrok.cfg start ssh
添加開(kāi)機(jī)啟動(dòng)
systemctl enable ngrok
啟動(dòng)
systemctl start ngrok
systemctl stop ngrok
狀態(tài)
systemctl status ngrok.service