一款簡單的內網穿透工具,無需安裝即可使用

一款簡單的內網穿透工具,無需安裝即可使用

Serveo是一個SSH服務器,僅用於遠程端口轉發,可以快速將本地端口暴露在外網。官方聲稱其為Ngrok的絕佳替代品,對其優點是使用現有的SSH客戶端,無需安裝客戶端即可完成端口轉發。當用戶連接到Serveo時,他們會獲得一個公共URL,任何人都可以使用它來連接到他們的localhost服務器。

使用

官方地址:http://serveo.net

使用要求:可以使用SSH,並且能連接到互聯網,Linux、Windows等系統都行。

1、轉發HTTP

將本地3000端口穿透到公網中,使用命令:

#要轉發其它端口的自行替換
ssh -R 80:localhost:3000 serveo.net

第一次如果有提示,選擇yes即可,之後會為你隨機生成一個serveo.net二級域名,然後就可以使用瀏覽器間接訪問本地的localhost:3000了。

如果要指定二級域名,可以使用命令:

#這裡默認為moerats.serveo.net,自行替換即可
ssh -R moerats:80:localhost:3000 serveo.net

此時你就可以在外網使用moerats.serveo.net訪問你本地的localhost:3000了。

2、轉發SSH

將本地22端口穿透到公網中,使用命令:

#可以自行設置名稱,這裡默認rats
ssh -R rats:22:localhost:22 serveo.net

接下來就可以登錄該內網服務器了,使用命令:

ssh -J serveo.net root@rats

3、轉發TCP

將本地1492端口穿透到公網中,使用命令:

#可以自行設置公網端口,這裡默認1492
ssh -R 1492:localhost:1492 serveo.net

進程守護

這裡官方推薦使用AutoSSH,作用是一旦SSH連接超時或停止傳遞流量,則根據需要重新啟動它。

1、安裝AutoSSH

#Debian/Ubuntu系統
apt install autossh -y
#CentOS系統
yum install autossh -y

2、使用Systemd

只適用於CentOS 7、Debian 8+、Ubuntu 16+等。

#輸入你的轉發命令,去掉開頭的ssh即可
serveo="-R 80:localhost:3000 serveo.net"
#將以下代碼一起復制到SSH運行
cat > /etc/systemd/system/autossh.service <[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

開始啟動並設置開機自啟:

systemctl start autossh
systemctl enable autossh

最後更多的命令和使用可以直接查看官方文檔


分享到:


相關文章: