最後更新日期: 2025 年 10 月 04 日
更新內容: 配合 Cloudflare 頁面更新
前言
由於懶懶最近購入號稱 IPv6 Only 永久免費 VPS,正打算使用 SSH 來連接康康這個 VPS 的能耐ಠ_ಠ ,驚覺家中的拉基有線電視網路未提供 IPv6 連線服務,根本連不上 VPS 阿!!!
雖說懶懶目前使用 Cloudflare WARP 來解決沒有 IPv6 連線能力的情況,但總想著是否有更輕鬆的方法可以隨時隨地並安全的使用 SSH,經過一番爬文後發現可以使用 Cloudflare Tunnel 配合 Cloudflare Zero Trust 的 Access 原則與應用程式,實現用戶端在僅具備 IPv4 網路連線能力的情況下,通過訪問自訂的網址,直接使用網頁版的 SSH 終端機來訪問 IPv6 Only 的遠端主機。

關於如何測試你的 IPv6 連線能力
|
|
教學
Cloudflare 帳戶 (需綁定信用卡)
Top-level Domain 頂級域名 1 個
- 必須是由 Cloudflare 託管 DNS 的域名
- 可使用 eu.org 域名
- 必須是由 Cloudflare 託管 DNS 的域名
你的遠端主機
備註:
本篇教學適用 IPv4 only 或 IPv6 only 主機
懶懶以自身的 IPv4 only 的主機作為演示
(1). 建立 Cloudflare Tunnel
Cloudflare 官方網站
- 首先登入你的 Cloudflare 帳戶,選擇「左」側邊欄的 Zero Trust 進入 Zero Trust 首頁。

- 點擊左側的網路折疊選單進入 Tunnels 分頁。

- 選擇藍色的建立通道(Create a tunnel)

首次使用需建立 Zero Trust 團隊名稱 並設定相關帳單資訊。
- 選擇通道類型 Cloudflared

- 建立自訂的通道名稱(tunnel name)名稱,懶懶以名稱「GC_US_01」當作範例,接著點擊儲存通道(Save tunnel)

- 懶懶使用的是 Debian 13 系統 (with Docker),Cloudflare 已提供各主流作業系統及 Linux 發行版的安裝命令,依實際狀況使用安裝即可!

下方範例處的 Docker 網路的部分,懶懶加入--net=host
參數,直接讓 Docker 容器與宿主機共享網路堆疊,可能帶來潛在風險(僅供範例使用,勿在需要網路隔離的環境使用)。
|
|

- 如果安裝及連結成功,下方 Connectors 區塊會即時顯示你的連接器(Connector) ID、狀態、版本資訊,顯示「已連線」點擊下一步即可

- 接著來建立主機名稱(Public hostname)
子網域(Subdomain)填入自訂域名前綴
- 如範例圖中的 ssh,作為子域名
網域(Domain)選擇你的域名
- 如範例圖中的 lann.eu.org,作為域名
路徑(Path)留白即可

註1:
Cloudflare 會自動為該網域新增 DNS record
註2:
關於主機名稱的作用?
網頁版的 SSH 終端機將使用該網址(子網域+網域)作為驗證及登入使用
例如:範例中的網址 ssh.lann.eu.org 就是我們整個設定完成後使用的網址
註:不要懷疑該網址的真實性(派蒙:進不去!怎麼想都進不去吧?!)
接著下方的服務區塊
- 類型 (Type) 協議選擇「
SSH
」 - 「URL」填入「
localhost:22
」
1 2 3 4 5 6 7 8
# 關於 SSH 端口 ## 「22」為連接 SSH 通訊埠的預設值,你可以輸入下列命令查看你的 SSH 設定 cat /etc/ssh/sshd_config | grep Port ## 該主機的執行結果(採用預設值 Port 22) i9@GreenCloud:~$ cat /etc/ssh/sshd_config | grep Port #Port 22 #GatewayPorts no
- 類型 (Type) 協議選擇「
最後選擇完成設定

- 建立好就可以在通道主頁看到你的 Tunnel 囉!

(2). 建立Cloudflare Access 原則
- 點擊左側的Acess折疊選單進入原則分頁。

- 選擇藍色的新增原則

- 建立自訂的原則名稱名稱,懶懶以名稱「email」當作範例
以受信任的電子郵件信箱,作為接收登入驗證碼的方式

- 選取器選擇使用 Emails,值輸入你的「電子郵件信箱地址」,懶懶以電子郵件地址「test@gmail.com」當作範例

- 最後選擇儲存即可

ssh.lann.eu.org
時,Cloudflare 會向「test@gmail.com
」寄出一次性驗證碼,使用者必須至信箱接收並輸入正確的驗證碼後,才能訪問網站!(3). 建立Cloudflare 應用程式
- 點擊左側的 Acess 折疊選單進入應用程式(Appliacations)分頁。

- 選擇藍色的加入應用程式(Add an appliacations)建立一個新的應用程式

- 選擇自我裝載(Self-hosted)類型

- 接著來加入應用程式
應用程式名稱(Application name)
- 如範例圖中的 ssh
子網域(Subdomain)選擇你的子域名
- 如範例圖中的 ssh,作為子域名
請務必核對是否與你建立 Tunnel 時的子域名相同!
- 域名(Domain)選擇你的域名,範例為
lann.eu.org

打開瀏覽器轉譯設定,將選項設置為 SSH
Access 原則部分選擇選取現有原則

- 選取我們方才設定好的 email 原則,並點擊確認

- 「應用程式外觀」保持原設定即可

- 點擊儲存

- 頁面就會出現我們設定好的應用程式

(4). 使用網頁版 SSH 終端機
- 訪問你設定的域名地址(如範例中的 ssh.lann.eu.org),並填入你的驗證電子郵件地址

- 然後去信箱接收驗證碼,填入驗證碼


- 即可進去網頁版 SSH 終端機,需要輸入你的主機使用者名稱及密碼(或私鑰)進行登入


- 網頁版 SSH 終端機展示
結語
雖說我們使用 Cloudflare Tunnel 配合 Zero Trust 可以間接使用網頁版的 SSH 終端機,但懶懶仍建議保留原本的 SSH 或 VNC 連線方案作為備援手段!
若不幸碰上 Cloudflare 服務中斷時,而在需要使用主機時,無法連線回主機可就麻煩囉!
懶懶註:
IPv6 Only 永久免費 VPS真的超拉基,極度不建議購買,以上!