阿裏雲服務器遠程連接密碼(阿裏雲服務器遠程連接密碼忘記了怎麽辦)

慈雲數據 2年前 (2023-04-14) 網絡資訊 543 23

今年春節,返鄉過年的朋友應該都有不少吧?離開了常住的居家和辦公環境,偶爾還是會碰到需要訪問家中/公司設備的場景。或許是臨時下載放在服務器中的文件,或許是連上住所的 NAS 和親朋好友一起觀看自己收藏的電影。

但對我來說,通過外網訪問 NAS 的速度相比局域網總覺得差點意思,有沒有更好的解決方案,讓我身在異地也能像局域網訪問那樣用上家裏設備呢?

這次我選擇了軟件定義廣域網(SD-WAN)來解決這個問題,效果還算不錯。通過虛拟化的技術,SD-WAN 将不同網絡下的設備連接到一個局域網中,讓不同設備之間高效互訪。比起傳統内網穿透進行跨網段設備訪問,整體操作相對簡單,用起來更加靈活,并且還有相當不錯的訪問穩定性。

阿裏雲服務器遠程連接密碼(阿裏雲服務器遠程連接密碼忘記了怎麽辦)

本文介紹其中一種不花錢、但需要花點時間的配置方案,希望你下次也能用得上。

▍SD-WAN 簡評

在 SD-WAN 解決方案這條賽道上,市面上目前可以選擇的産品主要要有 Zerotier、Tailscale 以及蒲公英這麽幾款。

Zerotier 和蒲公英少數派此前已有介紹,這裏簡單梳理一下這些方案的優缺點:

Zerotier

優點:可直接使用官方提供的方案快速,同時支持私有化部署

缺點:

由于網絡協議的限制,不同的網絡運營商下設備連接存在較高延遲

在群晖 DSM 7 上沒有圖形化客戶端

官方免費版存在組網限制

Zerotier 的原理其實很容易理解:通過根節點來創建一個中心服務器,加入其中的設備都需要和這個中心服務器通信,從而構建起一個虛拟局域網。由于中心服務器部署在海外,國内訪問難免會出現不穩定的情況,跨運營商設備互訪時丢包尤其嚴重。

Tailscale

優點:跨運營商設備互訪穩定性較好,客戶端開源

缺點:

控制服務器非開源軟件

官方免費賬戶存在較多限制

相比 Zerotier,Tailscale 在底層網絡邏輯上采用了 WireGuard 協議,因此不同運營商之間的設備互訪的速度更佳,有公網 IP 時效果更爲明顯。不過和 Zerotier 的問題類似,由于中心服務器均部署在海外,網絡不穩定的情況在所難免。

蒲公英

優點:國内廠商出品,網絡訪問最爲穩定

缺點:免費版套餐設備限制較大,必須付費升級

蒲公英屬于國内廠商推出的 SD-WAN,相比以上兩款的海外 SD-WAN 服務,最大的優勢就是中心服務器均在國内,因此單就從網絡訪問性上自然最佳;在沒有公網 IP 的設備之間通過國内服務器進行中繼服務可謂是相當穩定。不過它的缺點也很明顯:免費套餐對設備限制較高,要想真正用起來必須付費。

綜上,如果你想少折騰并且需要解決剛需,花點錢直接選擇蒲公英付費即可。但如果你和我一樣希望通過私有化部署免費、無限制地使用 SD-WAN,不妨跟随下面的流程手動配置一套屬于自己的遠程設備訪問方案。

▍HeadScale 是什麽

上面提到的服務中,Tailscale 和 Zerotier 其實都是商業化服務,免費賬戶服務基本夠用,服務穩定性則是個大問題。

因此 Tailscale 很早之前就有了可以私有化部署的開源方案。此前由于底層網絡協議的限制,私有化部署後跨運營商設備穿透失敗的情況依然時有發生——直到 HeadScale 的出現。

Headscale 是歐洲航天局的 Juan Font 使用 Go 語言開發,在 BSD 許可下發布,它基本上實現了 Tailscale 控制服務器的所有主要功能,沒有任何設備數量的限制,同時可以直接借用 Tailscale 的客戶端來牽線搭橋。

它唯一的缺點是目前尚沒有可視化界面,也無法直接使用 Tailscale 的 iOS 客戶端。考慮到我主要想實現不同區域下桌面設備的互訪,針對移動端的這個小缺點倒顯得不那麽重要。

另外,既然我們搭建服務最終目的是「免費無限制地使用」,這次:

不再雲服務器來部署 HeadScale 控制服務器,而是使用家中的 NAS

需要提前聯系運營商獲取家中網絡的公網 IP

滿足這兩個條件,接下來就就可以部署 HeadScale 了。

▍在群晖上部署控制服務器

我家中主要是使用群晖 NAS,并且部署 HeadScale 控制服務器需要有公網 IP,因此我首先需要做的是設置 DDNS 并開啓相應的端口映射。DDNS 設置的操作視設備而定,開啓後記得映射 8881、9090 以及 50443 這三個端口即可。

接着我們需要添加 HeadScale 的軟件安裝源,這裏筆者我選擇了「我不是礦神」提供的一個第三方源:打開群晖中的「套件中心」,然後在「設置」中切換到套件來源,新增一個新的套件來源。

名稱填寫「inmk」就好,這裏需要注意的是,如果群晖系統版本爲 DSM 6.X,位置填寫 https://spk.imnks.com/,如果是 DSM 7.x,位置則填寫 https://spk7.imnks.com/。

回到套件中心,點擊左邊側邊欄切換到「社群」,找到 HeadScale 軟件點擊下載并安裝,如果彈出警告請點擊同意并安裝。安裝完成後我們就可以在主菜單中看到 HeadScale 了。

點擊 HeadScale 我們可以看到一個參數設置頁面,這裏面我們需要将 server_url後面的 127.0.0.1 修改成 DDNS 地址,後面的端口号保持不動。另外 listen_addr:、 metrics_listen_addr: 以及 grpc_listen_addr: 後面的 127.0.0.1 均改爲 0.0.0.0。

最後直接點擊保存,這時 HeadScale 服務會再次重啓。

接下來我們需要創建一個分組空間來方便标識加入的設備。這裏需要使用 SSH 終端來訪問家中群晖,以 root 權限登錄後,輸入:

cd /var/packages/headscale/target/bin

我們這裏創建一個名爲 sspaihx 的分組空間,接下來輸入:

headscale namespaces create sspaihx

緊接着我們查看一下這個命名空間是否創建成功了,輸入:

headscale namespaces list

如果看到 Name 裏面有我們創建的這個 sspaihx 的分組空間就表示分組空間已經創建成功,至此我們的 HeadScale 控制服務器就已經部署完畢了。

▍使用 Tailscale 客戶端連接

創建好 HeadScale 控制服務器後,接下來就是将客戶端連接上了。正如上面所言,我們在客戶端上依舊可以使用 Tailscale 的客戶端——但需要進行一番小改造。

将 Windows 客戶端連接到 HeadScale 網絡中

我們最常使用的桌面系統自然是 Windows。這裏我們首先在桌面打開浏覽器,然後使用浏覽器訪問:

http://剛才設置的 ip 或者域名:8881/windows

在打開的頁面中下載一個注冊表文件,然後将其導入到系統中。緊接着去 Tailscale下載 Windows 客戶端并安裝,然後鼠标單擊系統托盤處的 Tailscale 圖标并選擇 log in。此時會打開如下頁面:

複制 headscale -n這一段命令,将其中的 NAMESPACE 替換成前面我們創建的分組空間名(sspaihx),然後再次打開 SSH 終端,使用 root 權限連接群晖并輸入如下兩段命令:

cd /var/packages/headscale/target/bin

headscale -n NAMESPACE nodes register --key nodekey:7f2fdxxxxxxxx

如果終端顯示 registered則表示設備已經加入,這時候在右鍵點擊系統托盤處的 Tailscale 圖标,然後點擊 sspaihx 分組空間點擊加入即可。

最後,我們回到 SSH 終端中輸入:

headscale nodes list

如果看到當前已經有設備名單,則表示已經成功将 Windows 設備加入到 HeadScale 網絡了。

将群晖連接到 headScale 網絡中

群晖既然可以作爲控制服務器,當然也可以作爲客戶端連接到控制器中。其中控制服務器軟件是 HeadScale,客戶端則依舊是官方的 Tailscale 客戶端。

我們需要到打開群晖的「套件中心」然後直接搜索「Tailscale」下載安裝,安裝完成後打開 SSH 客戶端,通過 root 賬戶連接到群晖上并輸入如下兩段命令:

cd /var/packages/Tailscale/target/bin

tailscale up --login-server=http://剛才設置的 ip 或者域名:8881 --accept-dns=false

輸入完成之後終端會打印出一段網址,将其複制并使用浏覽器打開——其實就和剛才 Windows 上的呈現的設備認證一樣,同樣是 headscale -n 一段命令,将其中的 NAMESPACE替換成前面我們創建的分組空間名。然後在 SSH 終端輸入如下命令:

cd /var/packages/headscale/target/bin

headscale -n NAMESPACE nodes register --key nodekey:7f2fdxxxxxxxx

回車後應該可以看到終端顯示 registered,如果不确定是否加入,可以再用下面這條命令查看設備是否加入。

headscale nodes list

将 macOS 連接到 HeadScale 網絡中

相比 Windows ,macOS 加入 HeadScale 網絡中會略微有些複雜,這裏首先需要使用浏覽器打開:

http://剛才設置的 ip 或者域名:8881/apple

在這個頁面中我們需要确定下載什麽版本客戶端,如果你有外區的 Apple ID 賬号,這裏可以直接選擇 App Store 版本的 macOS 客戶端,否則就隻能選擇 Standalone 客戶端。

選擇好客戶端之後,首先下載對應版本的描述文件(Profiles)并雙擊導入系統,打開「設置 > 隐私與安全性 > 描述文件」,選擇已下載的描述文件,雙擊安裝并授權。

最後我們再安裝并啓動 Tailscale 客戶端:在菜單欄中點擊 Tailscale 圖标,然後點擊 log in 打開相應的設備認證頁面。

同樣是 headscale -n 這段命令,将其中的 NAMESPACE 替換成前面我們創建的分組空間名。然後直接在 macOS 打開 SSH 終端,使用 root 賬戶連接群晖,輸入如下命令完成設備授權:

cd /var/packages/headscale/target/bin

headscale -n NAMESPACE nodes register --key nodekey:7f2fdxxxxxxxx

回車後看到 registered 表示設備已經完成添加,這時候再輸入:

headscale nodes list

可以看到不同系統設備都已經加入到這個虛拟局域網中了,我們使用各自對應的 IP 互相 ping 一下,看看能否直接實現互訪,比如使用這個内網 ip 訪問群晖 DSM 系統。

▍結語

通過以上方案,基于 DDNS + 動态公網 IP,在沒有花費一分錢的情況下,我們實現了諸多商業 SD-WAN 軟件才能獲得互聯效果。這種方案不僅沒有設備數量限制,同時也有着不錯的跨運營商互訪穩定性。

另外,如果你的資金或者條件允許,也可以嘗試直接購買一台雲服務器來部署 HeadScale,具體的方法可以參考 GitHub。

相關鏈接‍‍‍

阿裏雲服務器遠程連接密碼(阿裏雲服務器遠程連接密碼忘記了怎麽辦)

我不是礦神: ‍

https://imnks.com/

GitHub: ‍

https://github.com/juanfont/headscale

原文鏈接:

https://sspai.com/post/77971?utm_source=wechat&utm_medium=social

作者:化學心情下2

責編:克萊德

/ 更多熱門文章 /

微信掃一掃加客服

微信掃一掃加客服

點擊啓動AI問答
Draggable Icon