openclaw-secure-linux-cloud

作者: xixu-me

在雲端伺服器上自行託管 OpenClaw 時使用,用於強化遠端 OpenClaw 閘道、選擇 SSH 隧道、Tailscale 或反向代理暴露方式,或審查 Podman、配對、沙箱、令牌驗證及工具權限預設值,以確保安全的個人部署。

npx skills add https://github.com/xixu-me/skills --skill openclaw-secure-linux-cloud

Overview

Use this skill for the conservative "deploy first, expose later" pattern for OpenClaw on a cloud server.

Default to a private control plane:

  • Harden the Linux host before exposing anything.
  • Keep the gateway bound to 127.0.0.1.
  • Reach the Control UI through an SSH tunnel first.
  • Keep token authentication, pairing, and sandboxing enabled.
  • Start with a narrow tool profile and loosen only with an explicit need.

This skill is for secure Linux cloud hosting. If the user only wants the fastest generic OpenClaw install on a local machine, prefer the official OpenClaw onboarding docs instead of forcing this flow.

Open references/REFERENCE.md when you need the command matrix, baseline config shape, checklist, or access-path comparison.

When To Use

Use this skill when the user mentions any of the following:

  • OpenClaw on a cloud server, VM, or other Linux host
  • Secure self-hosting, hardening, or "run it privately"
  • Podman, loopback binding, SSH tunneling, or remote Control UI access
  • Tailscale vs reverse proxy for OpenClaw
  • Pairing, sandboxing, token auth, or locked-down tool permissions
  • Reviewing whether an existing OpenClaw host is too exposed

Do not use this skill for:

  • General Linux hardening with no OpenClaw component
  • Local single-machine onboarding where remote access is irrelevant
  • Pure local onboarding with no remote-host hardening questions
  • Non-Linux hosting unless the user explicitly wants this Linux-first pattern adapted

Workflow

1. Classify the request

Put the task in one of these buckets before giving detailed guidance:

  1. Fresh deploy: the user wants to stand up OpenClaw securely on a Linux cloud host from scratch.
  2. Hardening review: the user already has OpenClaw running and wants to reduce exposure or audit risky defaults.
  3. Access-model decision: the user is choosing between SSH tunneling, Tailscale, or a reverse proxy.

2. Start from the secure baseline

Unless the user clearly asks for something else, recommend this baseline:

  • Harden the Linux host first: updates, SSH keys, SSH lock-down, and a default-deny inbound firewall matched to the distro.
  • Run OpenClaw under rootless Podman rather than as a root-owned long-lived process.
  • Keep the gateway on loopback only.
  • Keep the Control UI private and access it through an SSH tunnel.
  • Require token authentication.
  • Keep pairing enabled for inbound messaging channels.
  • Start with a minimal tool set and sandbox sessions by default.

Treat these as explicit red flags:

  • Binding the gateway to 0.0.0.0
  • Opening port 18789 to the public internet
  • Turning on broad runtime, filesystem, automation, or browser access by default
  • Leaving ~/.openclaw readable by other local users

3. Separate local and server actions

Always distinguish between:

  • Local machine actions: SSH key generation, tunnel setup, browser access
  • Server actions: Linux hardening, Podman install path, OpenClaw service setup, config permissions, service restarts

Do not blur the two execution contexts together. The user should be able to tell which commands run on their laptop and which run on the Linux host.

4. Ask only for blocking facts

Only stop for missing facts that change the safe path, such as:

  • Linux distro and host access details when package-manager or firewall commands matter
  • Whether OpenClaw is already installed
  • Whether the user truly needs repeated remote private access or public access
  • Whether an existing deployment is already reachable from the internet

If a detail is not safety-critical, make the reasonable secure assumption and state it.

5. Use the access escalation ladder

Recommend remote access in this order:

  1. SSH tunnel: default for first deployment and personal use
  2. Tailscale: next step when the user needs repeated private access across trusted devices
  3. Reverse proxy: only when the user explicitly needs public exposure and accepts the extra hardening burden

If the user asks for Tailscale or reverse proxy, still explain why the loopback binding and private-first model remain the baseline.

Output Expectations

For a fresh deployment, provide:

  • A short architecture summary
  • Local-vs-server steps
  • A conservative config baseline
  • A pre-launch checklist
  • A short "what not to expose" warning

For a hardening review, provide:

  • The likely risks in the current setup
  • A prioritized remediation sequence
  • Any immediate exposure concerns to fix before anything else

For an access-path decision, provide:

  • A recommendation
  • Why it is the lowest-risk fit
  • What extra safeguards are required if the user chooses a broader exposure model

Common Mistakes

  • Treating OpenClaw like a normal public web app on day one
  • Assuming auth alone replaces network boundaries
  • Turning on more tool power before the user has a clear workflow that needs it
  • Disabling pairing just to save time during early setup
  • Skipping follow-up audits after changing config or sandbox settings

Reference Usage

Use references/REFERENCE.md when you need:

  • The cross-distro hardening flow and Debian/Ubuntu example commands
  • The Podman-based OpenClaw setup outline
  • The baseline config skeleton
  • The pre-launch checklist
  • The day-to-day audit commands
  • The SSH tunnel vs Tailscale vs reverse-proxy comparison

來自 xixu-me 的更多技能

github-actions-docs
xixu-me
當使用者詢問如何撰寫、解釋、自訂、遷移、保護或疑難排解 GitHub Actions 工作流程、工作流程語法、觸發器、矩陣、執行器、可重複使用工作流程、成品、快取、密碼、OIDC、部署、自訂動作或 Actions Runner Controller 時使用,特別是當他們需要官方 GitHub 文件、精確連結或基於文件的 YAML 指引時。
developmentdevopsdocument
use-my-browser
xixu-me
當工作依賴於用戶的即時瀏覽器工作階段或可見的渲染狀態,而非靜態擷取時使用,特別適用於瀏覽器除錯情境、開發者工具選取的元素或請求、已登入的儀表板或CMS流程、本地主機應用程式、表單、上傳、下載、媒體檢查、DOM或iframe檢查、Shadow DOM,以及看似軟性404、驗證牆、反機器人檢查或速率限制的瀏覽器故障。
browser-automationweb-scrapingtesting
readme-i18n
xixu-me
當使用者想要翻譯儲存庫的README、讓儲存庫支援多語言、在地化文件、加入語言切換器、國際化README,或是在GitHub風格的儲存庫中更新已在地化的README版本時使用。
documentdevelopmentapi
develop-userscripts
xixu-me
在構建、除錯、打包或發佈用於 Tampermonkey 或 ScriptCat 的瀏覽器使用者腳本時使用,包括 GM API、元數據區塊、權限問題、@match/@grant/@connect 設定、ScriptCat 背景或排程腳本、UserConfig 區塊或訂閱工作流程。
developmentbrowser-automationweb-scraping
secure-linux-web-hosting
xixu-me
在設定、強化或檢視用於自架站的雲端伺服器時使用,包括 DNS、SSH、防火牆、Nginx、靜態網站託管、應用程式的反向代理、使用 Let's Encrypt 或 ACME 用戶端的 HTTPS、安全的 HTTP 到 HTTPS 重新導向,或可選的啟動後網路調校(如 BBR)。
devopssecurityaws
opensource-guide-coach
xixu-me
當使用者希望獲得關於啟動、貢獻、發展、治理、資助、保護或維持開源專案的指導,或詢問貢獻者入門、社群健康、維護者倦怠、行為準則、指標、法律基礎或開源專案採用的相關問題時使用。
developmentresearch
running-claude-code-via-litellm-copilot
xixu-me
在透過本地 LiteLLM 代理將 Claude Code 路由至 GitHub Copilot 時使用,以減少直接 Anthropic 花費、設定 ANTHROPIC_BASE_URL 或 ANTHROPIC_MODEL 覆寫,或疑難排解 Copilot 代理設定失敗,例如模型未找到、無 localhost 流量或 GitHub 401/403 驗證錯誤。
developmentapidevops
skills-cli
xixu-me
Use when users ask to discover, install, list, check, update, remove, back up, restore, sync, or initialize Agent Skills, mention `bunx skills`, `npx skills`, `skills.sh`, or `skills-lock.json`, ask "find a skill for X", or want help extending agent capabilities with installable skills.
developmentapiproductivity