Serveo是一個SSH服務(wù)器,僅用于遠程端口轉(zhuǎn)發(fā),可以快速將本地端口暴露在外網(wǎng)。官方聲稱其為Ngrok的絕佳替代品,對其優(yōu)點是使用現(xiàn)有的SSH客戶端,無需安裝客戶端即可完成端口轉(zhuǎn)發(fā)。當用戶連接到Serveo時,他們會獲得一個公共URL,任何人都可以使用它來連接到他們的localhost服務(wù)器。
使用
官方地址:http://serveo.net
使用要求:可以使用SSH,并且能連接到互聯(lián)網(wǎng),linux、windows等系統(tǒng)都行。
1、轉(zhuǎn)發(fā)HTTP
將本地3000端口穿透到公網(wǎng)中,使用命令:
#要轉(zhuǎn)發(fā)其它端口的自行替換 ssh -R 80:localhost:3000 serveo.net
第一次如果有提示,選擇yes即可,之后會為你隨機生成一個serveo.net二級域名,然后就可以使用瀏覽器間接訪問本地的localhost:3000了。
如果要指定二級域名,可以使用命令:
#這里默認為moerats.serveo.net,自行替換即可 ssh -R moerats:80:localhost:3000 serveo.net
此時你就可以在外網(wǎng)使用moerats.serveo.net訪問你本地的localhost:3000了。
2、轉(zhuǎn)發(fā)SSH
將本地22端口穿透到公網(wǎng)中,使用命令:
#可以自行設(shè)置名稱,這里默認rats ssh -R rats:22:localhost:22 serveo.net
接下來就可以登錄該內(nèi)網(wǎng)服務(wù)器了,使用命令:
ssh -J serveo.net root@rats
3、轉(zhuǎn)發(fā)TCP
將本地1492端口穿透到公網(wǎng)中,使用命令:
#可以自行設(shè)置公網(wǎng)端口,這里默認1492 ssh -R 1492:localhost:1492 serveo.net
進程守護
這里官方推薦使用AutoSSH,作用是一旦SSH連接超時或停止傳遞流量,則根據(jù)需要重新啟動它。
1、安裝AutoSSH
#Debian/Ubuntu系統(tǒng) apt install autossh -y #centos系統(tǒng) yum install autossh -y
2、使用Systemd
只適用于CentOS 7、Debian 8+、Ubuntu 16+等。
#輸入你的轉(zhuǎn)發(fā)命令,去掉開頭的ssh即可 serveo="-R 80:localhost:3000 serveo.net" #將以下代碼一起復(fù)制到SSH運行 cat > /etc/systemd/system/autossh.service <<EOF [Unit] Description=autossh After=network.target [Service] Type=simple Environment="AUTOSSH_GATETIME=0" ExecStart=$(command -v autossh) -M 0 -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" $serveo Restart=on-abort [Install] WantedBy=multi-user.target EOF
開始啟動并設(shè)置開機自啟:
systemctl start autossh systemctl enable autossh
最后更多的命令和使用可以直接查看官方文檔