Skip to Content

服務

配方服務只有三個規範欄位:nameenabled,以及開放的 config 物件。形狀會通過結構性校驗,但設定鍵只有在所選建置工作程序或功能掛鉤實作它時才會生效。校驗並不能證明守護程式已被安裝或設定。

{ "services": [ { "name": "ssh", "enabled": true, "config": { "port": 2222, "allow_root": false, "disable_password_auth": true, "authorized_keys": ["ssh-ed25519 AAAA... operator@example"] } } ] }

SSH 設定

通用 Linux 建置路徑會辨識這些 SSH 設定:

配方鍵效果
portlisten_portOpenSSH 連接埠,1–65,535
allow_root對應到 PermitRootLogin
disable_password_auth取反後成為 PasswordAuthentication
password_authentication直接的 OpenSSH 權杖值
pubkey_authentication直接的 OpenSSH 權杖值
client_alive_interval有上限的 ClientAliveInterval
client_alive_attempts有上限的 ClientAliveCountMax
authentication_retries有上限的 MaxAuthTries
timeout有上限的登入寬限時間
x11_forwardingallow_agent_forwardingallow_tcp_forwarding直接的 OpenSSH 權杖值
authorized_keys在受支援時安裝所提供的公開金鑰

特定工作程序路徑可能只支援較小的集合。尤其是硬體、 Proxmox 和 Raspberry Pi 建置器有各自的轉接器。請檢查所選目標的 標準化配方和建置警告。

如果停用了密碼驗證,在部署到硬體之前,至少包含一把有效公開金鑰並獨立測試。不要把私密金鑰或密碼放進配方服務設定。

其他服務

nginxwireguard、DNS、DHCP 或防火牆元件等名稱不是通用設定 API。它們的套件和設定來自所選基礎對應的功能、掛鉤、套件清單或啟動指令碼。像 config.sites 這樣的任意物件可能被模式接受,但仍會被忽略。

使用此順序:

  1. 選擇基礎映像並啟用具體功能或套件。
  2. 只新增該能力已實作的設定鍵。
  3. 檢查標準化配方和產生的警告。
  4. 為套件存在、服務啟用、接聽連接埠、設定檔以及應用層回應新增斷言。
  5. 在提升到硬體或正式環境之前,啟動並測試產物。

參見 功能啟動指令碼斷言類型