通過會話管理CLI(ali-instance-cli)的連接埠轉寄和會話串連功能,無需公網 IP 和安全性群組入方向規則,即可安全訪問 ECS 執行個體內的 OpenClaw 服務。
背景資訊
訪問 ECS 執行個體內的 OpenClaw Web 介面或 TUI 介面,通常需要公網 IP 並在安全性群組中開放服務連接埠(如 18789)。ali-instance-cli 基於會話管理通道建立加密串連,所有流量經阿里雲內部網路傳輸,無需開放任何連接埠。
支援以下兩種串連方式:
串連方式 | 說明 | 適用情境 |
將執行個體內 OpenClaw Dashboard 連接埠轉寄到本地,通過瀏覽器訪問。 | 日常使用 OpenClaw,需要圖形化操作介面。 | |
通過會話管理登入執行個體終端,在命令列中使用 OpenClaw TUI(文本互動介面)。 | 偏好命令列操作,或需要在終端中直接互動。 |
前提條件
已完成準備工作,包括:
開啟會話管理功能。
確認執行個體的雲助手 Agent 已安裝且處於正常狀態。
已在本機電腦上安裝並配置會話管理CLI。
ECS 執行個體中已部署 OpenClaw 服務,且 OpenClaw Gateway 處於運行狀態。
如果未開啟會話管理功能,執行 ali-instance-cli 命令時會報錯 session manager is disabled。
免公網開啟 Web 介面
通過連接埠轉寄將執行個體內 OpenClaw Dashboard 連接埠映射到本地,在瀏覽器中訪問 Web 控制介面。
步驟一:確認 OpenClaw Gateway 運行狀態
在執行個體中執行以下命令查看 OpenClaw Gateway 的運行狀態:
openclaw gateway status輸出樣本:
Gateway: bind=lan (0.0.0.0), port=18789 (env/config)
...
RPC probe: ok
Listening: *:18789如果輸出中 RPC probe 顯示 ok 且 Listening 顯示連接埠號碼,表示 OpenClaw Gateway 運行正常。
步驟二:擷取 Dashboard 訪問地址
在執行個體中執行以下命令擷取 OpenClaw Dashboard 的 URL:
openclaw dashboard輸出樣本:
Dashboard URL: http://127.0.0.1:18789/#token=<TOKEN>記錄連接埠號碼(預設 18789)和 Token 值,後續步驟需要使用。
步驟三:在本地執行連接埠轉寄
在本地執行以下命令,將執行個體內 OpenClaw 連接埠轉寄到本地(以 Linux 為例,macOS 和 Windows 用法一致):
./ali-instance-cli portforward --instance <INSTANCE_ID> --local-port 18789 --remote-port 18789參數說明:
--instance:ECS 執行個體 ID,例如i-bp1xxxxxxxxxxxxx。--local-port:本地監聽連接埠。可以與遠程連接埠不同,例如設定為18789。--remote-port:執行個體內 OpenClaw 服務的監聽連接埠,預設為18789。
終端輸出類似以下資訊:
Port forwarding for SessionId: s-hz0xxxxx, local port 18789, remote port :18789
Waiting for connections...保持終端視窗運行,關閉會中斷連線。
步驟四:在瀏覽器中訪問 OpenClaw
在瀏覽器中開啟以下 URL:
http://localhost:18789/#token=<TOKEN>將 <TOKEN> 替換為步驟二擷取的 Token 值。如果 --local-port 設為其他連接埠(如 18789),相應修改 URL 中的連接埠號碼。
免公網登入 TUI 介面
通過會話串連功能登入 ECS 執行個體終端,直接啟動 OpenClaw TUI(文本互動介面)。
步驟一:確認版本要求
確認本地 ali-instance-cli 版本滿足以下最低要求:
作業系統 | 最低版本要求 |
Linux | 1.2.0.82 |
Windows | 1.1.0.82 |
macOS | 1.3.0.82 |
執行以下命令查看目前的版本:
./ali-instance-cli version步驟二:確認 OpenClaw Gateway 運行狀態
在執行個體中執行以下命令查看 OpenClaw Gateway 的運行狀態:
openclaw gateway status步驟三:擷取 OpenClaw Gateway 的鑒權 Token
從 openclaw.json 設定檔擷取 OpenClaw Gateway 鑒權 Token。
Linux:
~/.openclaw/openclaw.jsonWindows:
C:\Users\<使用者名稱>\.openclaw\openclaw.json
鑒權 Token 位於 gateway.auth.token 欄位:
{
"gateway": {
"auth": {
"mode": "token",
"token": "<YOUR_TOKEN>"
}
}
}以下命令中 <TOKEN> 即為該值。
步驟四:登入執行個體並啟動 TUI
目標執行個體為 Linux 系統:
執行以下命令,指定執行個體 ID、系統使用者名稱和 Gateway 的鑒權 Token:
./ali-instance-cli session --instance <INSTANCE_ID> --user-name <USER_NAME> --commandLine "openclaw tui --token <TOKEN>"目標執行個體為 Windows 系統:
執行以下命令,指定執行個體 ID、系統使用者名稱、使用者密碼和 Gateway 的鑒權 Token:
./ali-instance-cli session --instance <INSTANCE_ID> --user-name <USER_NAME> --password <PASSWD> --commandLine "powershell -command openclaw tui --token <TOKEN>"以上為基礎命令樣本,可根據需求為 openclaw tui 添加其他參數。
常見問題
OpenClaw 部署在 Docker 容器中,連接埠轉寄建立後,瀏覽器無法訪問 OpenClaw Web 介面?
OpenClaw Gateway 未綁定到 Docker 可轉寄的網路介面。Gateway 預設綁定迴環(loopback) 地址,Docker 連接埠映射無法正常轉寄流量。
解決方案:在執行個體中執行以下命令將 Gateway 繫結模式改為 LAN,然後重啟容器:
將 <CONTAINER_NAME> 替換為容器名稱。
docker exec <CONTAINER_NAME> openclaw config set gateway.bind lan
docker restart <CONTAINER_NAME>會話串連後執行 Docker 命令提示許可權不足?
ali-instance-cli 會話預設以 ecs-assist-user 使用者登入,執行 Docker 命令需添加 sudo,例如 sudo docker exec openclaw openclaw dashboard。