Web 終端機
Web 終端機在管理後台中提供受控的 Host Shell 工作階段,適合查看狀態、執行簡短指令及緊急排障。它不是日常開發環境,也不應取代 SSH Key、稽核與最小權限管理。
此功能依賴 tmux 保存可恢復的工作階段。目前支援飛牛 fnOS FPK 與通用 Linux;Docker、OpenWrt、Synology DSM 7 SPK 及 Windows x86_64 不提供 Web 終端機入口。
權限邊界
終端機指令會使用 fn-knock Service Process 的系統權限執行。Service 以 root 執行時,終端機也可能具有 root 權限;輸入錯誤的指令可能直接修改系統、應用程式資料及網路設定。
- 只允許可信任的管理員存取管理面板;
- 為管理面板設定獨立的存取範圍與強式驗證;
- 不要在終端機中輸入可能被瀏覽器歷史記錄、剪貼簿或螢幕錄影保存的長期密鑰;
- 修改設定檔、Package 或防火牆前先備份;
- 不要將 Web 終端機當成公網 SSH 的替代入口。
tmux 環境
在 系統設定 → 終端機 檢視 tmux 狀態與版本。狀態包含未安裝、安裝中、已安裝及錯誤。
- 尚未安裝時,可以從頁面啟動安裝;
- 安裝過程會顯示進度,完成後重新整理狀態;
- 安裝失敗時可檢視錯誤並重新安裝;
- tmux 尚未就緒時,無法建立終端機工作階段。
安裝操作需要部署環境具備對應的 Package Manager 及網路條件。頁面持續停在安裝中或顯示錯誤時,請檢查後端 Log、Software Repository 及磁碟空間。
終端機設定
| 設定 | 預設值與範圍 | 說明 |
|---|---|---|
| 啟用 Web 終端機 | 預設關閉 | 啟用後顯示側邊導覽,並允許建立工作階段 |
| 工作階段數量上限 | 預設 3,範圍 1~12 | 達到上限後無法繼續建立 |
| 閒置清理時間 | 預設 86400 秒,範圍 60~604800 秒 | 即 1 分鐘至 7 天;到期的閒置工作階段會由後端清理 |
閒置清理時間針對 Server 上的 tmux 工作階段,不是瀏覽器登入工作階段的時長。儲存設定後,請返回 Web 終端機頁確認導覽與執行狀態。
工作階段行為
第一次開啟頁面時,系統會讀取現有工作階段,並優先恢復目前瀏覽器最近使用的工作階段;若沒有任何工作階段,則會嘗試建立預設工作階段。頁面提供:
- 建立工作階段;
- 在多個工作階段分頁間切換;
- 重新命名目前工作階段;
- 重新 Attach 至已中斷連線的工作階段;
- 將一段文字原樣傳送至終端機;
- 結束並永久刪除目前工作階段;
- 最大化、調整字型、複製、貼上及全選。
瀏覽器透過 HTTP Long Polling 接收終端機輸出。網路短暫中斷後可以重新連線;重新整理頁面或關閉瀏覽器,只會 Detach 目前連線,不會立即結束底層 tmux 工作階段。需要徹底停止 Process 並刪除工作階段時,請執行 Shell Exit 或點選「結束工作階段」。
結束工作階段後無法恢復,其中仍在執行的指令也會隨該 tmux 工作階段一併終止。
行動裝置操作
窄螢幕裝置會顯示快捷工具列,提供常用 Control Key、Modifier Key、方向與導覽鍵及字級調整。瀏覽器不允許直接讀取剪貼簿時,頁面會開啟「傳送到終端機」對話框,讓使用者手動貼上後送出。
手機瀏覽器適合短時間排障;長指令、互動式編輯、常駐工作及檔案傳輸,較適合使用本機 SSH Client。
疑難排解
找不到入口
確認部署平台支援終端機能力、tmux 已安裝、功能已儲存為啟用,並重新載入管理後台設定。
頁面顯示目前無法使用
執行狀態會列出阻擋原因,常見情況包括功能未啟用、tmux 正在安裝、缺少 tmux 或安裝錯誤。請先在 系統設定 → 終端機 修復 Runtime 環境。
無法建立工作階段
檢查目前工作階段數量是否已達上限,並確認舊工作階段是否仍在執行。必要時結束不再使用的工作階段。
無法恢復工作階段
工作階段可能已超過閒置清理時間、被其他管理員結束、因 Host 重新啟動而消失,或 fn-knock 無法重新 Attach tmux。重新整理執行狀態後,再建立新的工作階段。
已連線但沒有輸出
使用「重新連線」再次 Attach;仍無輸出時,請檢查瀏覽器 Network Request 與後端 Log。Reverse Proxy 對 Long Polling 設定過短的 Timeout,也可能造成連線反覆中斷。
