跳至正文

Web 終端機

Web 終端機適合查看狀態、執行短指令與緊急除錯。它提供兩類目標:所有發行平台都可以連線管理員設定的遠端 SSH 目標;完整標準 FPK、Linux 服務、macOS 與 OpenWrt 還可選擇 fn-knock 所在主機的本機 PTY。

開啟或關閉 Web 終端

系統設定 → 功能 → Web 終端 管理總開關,預設開啟,沿用管理後台驗證。關閉並儲存會立即結束所有 SSH 與本機終端工作階段並關閉入口;重新開啟不會恢復已結束的 Shell。此總開關與預設關閉的本機 PTY 開關分別控制,啟用 Web 終端不會自動啟用本機 PTY。

平台邊界

部署方式遠端 SSH本機 PTY
完整標準 FPK支援支援,預設關閉
敲門 knock Lite支援不支援
Linux 服務支援支援,預設關閉
macOS支援支援,預設關閉
OpenWrt支援支援,預設關閉
Docker、Synology DSM、Windows支援不支援
開發環境支援不支援

遠端 SSH 要求 fn-knock 執行環境能連線到目標主機與連接埠;Web 終端機不會自動修改 Docker 連接埠、OpenWrt 防火牆或其他平台網路規則。本機 PTY 不需要啟用 SSH 服務,也不會繞道使用 localhost SSH。

權限邊界

遠端終端機指令會使用設定的 SSH 使用者權限執行。本機 PTY 則直接繼承 fn-knock 管理服務的有效 UID / GID,不會自動降權或切換使用者:服務以 root 執行時,本機終端機也是 root Shell,可直接修改主機系統、應用程式資料與網路設定。

  • 只向可信任的管理員開放管理後台;
  • 遠端目標優先使用權限受限的專用 SSH 使用者與私密金鑰驗證;
  • 新增遠端目標時,透過獨立可信管道核對主機指紋;
  • 啟用本機 PTY 前,核對頁面顯示的執行身分、Shell 與初始目錄,並完成風險確認;
  • 修改設定檔、軟體套件或防火牆前先建立備份;
  • 不要將 Web 終端機視為 SSH 安全策略、命令稽核或最小權限的替代方案。

啟用本機 PTY

在支援的平台進入 Web 終端機,開啟本機終端機設定。此開關預設為關閉;頁面會顯示實際執行身分、是否為特權身分、將啟動的 Shell 與初始目錄。閱讀風險說明並勾選確認後才能啟用;找不到可執行且受支援的登入 Shell 時無法啟用。

啟用後,固定的 本機 目標會排在遠端 SSH 目標之前。它不是 SSH 目標,不能編輯或刪除。停用本機終端機時,若仍有作用中的工作階段,頁面會先要求再次確認;確認後會終止這些工作階段,再關閉建立本機工作階段的入口。儲存設定時會核對設定修訂版;舊頁面與目前設定衝突時,必須先重新整理並再次確認,不能無聲覆寫其他管理員的修改。

Shell 會依可執行檔依序選擇 zsh、目前帳號的 Shell、bashashsh,並以登入 Shell 模式啟動。初始目錄會優先使用執行帳號的主目錄,其次使用 fn-knock 資料目錄,最後回退到 /。本機工作階段會清除服務程序環境,只重建終端機所需的身分、路徑、終端機,以及受限的語言與時區變數,避免將服務密鑰直接帶入 Shell。

在完整標準 FPK 中,本機終端機請求會沿桌面 CGI 入口 index.cgi 轉送至 Loopback 位址上的 Rust 管理服務;不會經過 fnOS 統一閘道、Go 閘道或 gRPC,也不使用 WebSocket。終端機仍沿用管理後台的 HTTP 請求與 Long Polling 通道,因此不要為了它額外公開管理連接埠。

新增 SSH 目標

進入 Web 終端機,點選 新增 SSH 目標,填寫名稱、主機、連接埠、使用者名稱與驗證方式。驗證支援密碼或 OpenSSH 私鑰,加密私鑰也可填入口令。

憑證會在 fn-knock 本機加密儲存。首次測試時,系統先取得伺服器主機金鑰並顯示演算法與指紋;明確確認後才會傳送驗證資料。請在伺服器主控台、已知 SSH 用戶端或管理員記錄中核對,不要只依賴頁面顯示。

確認指紋並通過連線測試後即可儲存。主機、連接埠、使用者、驗證方式或受信任金鑰變更時,既有活動工作階段可能必須先結束;頁面會列出影響範圍。

目標與工作階段

本機目標與每個 SSH 目標都可以建立多個獨立 Shell 工作階段。終端機服務持續執行時,重新整理頁面、關閉瀏覽器或短暫斷線只會中斷瀏覽器連線,不會立即結束 Shell。fn-knock 服務重新啟動、Shell 自行退出或管理員結束工作階段時,會終止對應工作階段;停用本機終端機還會結束所有本機工作階段。這些已結束的工作階段無法復原。

頁面提供:

  • 新增、切換與重新命名工作階段;
  • 重新連線仍在執行的工作階段;
  • 最大化、調整字型、複製、貼上、全選與原樣傳送文字;
  • 查看連線階段;遠端 SSH 包含解析主機、驗證金鑰、身分驗證與申請 PTY,本機終端機則包含開啟 PTY 與啟動 Shell;
  • 結束並刪除工作階段。

同一工作階段一次只有一個瀏覽器能輸入。其他瀏覽器可唯讀查看,並在需要時選擇 接管控制;接管後,原控制端不能繼續輸入。

編輯或刪除遠端目標都從該目標的 編輯 SSH 目標 對話框進入;觸控裝置可先點按目標卡片,顯示編輯按鈕。刪除會先要求確認;若目標仍有作用中的工作階段,頁面還會顯示第二次「結束工作階段並刪除」確認。確認時,系統會再次核對目標修訂狀態,避免頁面過期後誤刪已由其他管理員修改的設定。成功後會移除目標與加密憑據;結束工作階段與刪除都無法復原。

行動裝置操作

窄螢幕會顯示控制鍵、修飾鍵、方向鍵與字型大小工具列。瀏覽器無法讀取剪貼簿時,使用 傳送到終端機 對話框手動貼上。長指令、互動式編輯、長時間工作與檔案傳輸仍建議使用本機 SSH 用戶端。

稽核與憑證

事件中心會記錄 SSH 目標的新增、修改與刪除、主機指紋確認、連線測試結果、本機終端機啟用或停用,以及本機與遠端工作階段的建立、結束、退出或遺失等事件。本機事件會標明本機後端、執行身分與是否為特權身分。稽核不會記錄終端機中輸入的每一條命令;需要命令層級稽核時,應在目標系統或主機另外設定。

應用程式備份會包含遠端 SSH 目標及受保護的憑據,因此匯出檔案仍應視為敏感憑據加以保護;刪除目標後,也要在目標伺服器撤銷不再需要的帳號或公開金鑰。備份不會包含作用中的終端機工作階段,也不會包含本機終端機啟用開關;還原後本機終端機會保持關閉,必須在新主機重新核對執行身分、Shell 與初始目錄後手動啟用。

疑難排解

  • 無法取得指紋:確認 fn-knock 能解析主機並連到 SSH 連接埠;指紋不符時停止驗證,先檢查 DNS、主機重裝或金鑰輪替紀錄。

  • 連線測試失敗:核對使用者、密碼、私鑰格式與口令,並確認 SSH 服務允許該驗證方式及互動式 PTY。

  • 工作階段無法復原:檢查連線階段與錯誤;Shell 可能已退出、SSH 鏈路可能已中斷、遠端目標設定可能已修改、本機終端機可能已停用,或 fn-knock 終端機服務已重新啟動。確認目標與平台能力後,再建立新的工作階段。

  • 只能查看:另一個瀏覽器正在控制同一工作階段;確認不會打斷操作後接管,或另建工作階段。

  • 事件中心與通知

  • SSH 安全性

  • 安全邊界與基準

QQ 群組:1081609274