ssh-guard

Intercepts SSH exec calls and pauses them for user approval. Supports one-time and session-wide approval modes, with automatic state cleanup when sessions end.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "ssh-guard" with this command: npx skills add yanbo92/ssh-guard

SSH Guard

Help the user install and enable the ssh-guard plugin from this repository.

Channel Compatibility

ChannelStatus
Telegram✅ Supported
Feishu✅ Supported
Mattermost✅ Supported
Weixin❌ Not Supported
Others🔍 Unverified

Workflow

  1. Confirm the target OpenClaw environment and config file location.
  2. Ask which approval language the user wants:
    • Chinese: index.zh-CN.ts
    • English: index.en.ts
  3. Default to English if the user does not specify a language.
  4. Ensure the plugin directory is reachable from plugins.load.paths.
  5. Ensure plugins.entries["ssh-guard"].enabled is true.
  6. Check the current top-level session.dmScope value first.
  7. If it is already per-channel-peer or per-account-channel-peer, keep it and skip the selection step.
  8. Otherwise, tell the user session.dmScope: "main" is not supported for this plugin in DM flows.
  9. Ask the user to choose one of these top-level session.dmScope values:
    • per-channel-peer
    • per-account-channel-peer
  10. Explain the two choices as OpenClaw session-routing behavior first:
  • per-channel-peer: DM session key is agent:<agentId>:<channel>:direct:<peerId>, so the same person gets a different DM session in each channel
  • per-account-channel-peer: DM session key is agent:<agentId>:<channel>:<accountId>:direct:<peerId>, so DM sessions are separated by channel, receiving account, and person
  1. Then explain the plugin recommendation separately:
  • default to per-channel-peer
  • use per-account-channel-peer when one channel has multiple accounts and they should not share DM session state
  1. If the user has no preference, default to per-channel-peer.
  2. Explain whether the user should:
  • point OpenClaw directly at this repository directory, or
  • copy/symlink the files into an existing extensions directory
  1. Remind the user to restart or reload OpenClaw after changing plugin config.

Language Selection

Use these entry files:

  • index.zh-CN.ts: Chinese approval prompts and approval keywords
  • index.en.ts: English approval prompts and approval keywords
  • index.ts: default entry and currently points to index.en.ts

If the user wants Chinese prompts, either:

  • change the plugin entry to load index.zh-CN.ts, or
  • change index.ts to export index.zh-CN.ts

If the user wants English prompts, keep the current default or point the entry to index.en.ts.

Installation Rules

  • Prefer using this repository as the single source of truth for the plugin.
  • Do not describe the plugin as a generic policy skill first; it is primarily a publishable OpenClaw plugin repository.
  • When updating openclaw.json, make minimal changes:
    • add top-level session.dmScope if missing
    • add the plugin directory to plugins.load.paths if missing
    • add ssh-guard to plugins.entries if missing
    • set enabled to true unless the user explicitly wants it disabled
  • Use absolute paths in config examples.
  • Preserve existing plugin entries and load paths.
  • Do not offer main as a valid choice for this plugin's DM setup flow.
  • Present per-channel-peer and per-account-channel-peer as the recommended DM setup choices for this plugin.
  • If session.dmScope is already per-channel-peer or per-account-channel-peer, do not ask the user to change it.
  • Explain that group sessions are unaffected because OpenClaw already routes groups as agent:<agentId>:<channel>:group:<groupId>.

Default Config Shape

Show config updates in this form:

"session": {
  "dmScope": "per-channel-peer"
},
"plugins": {
  "load": {
    "paths": [
      "/absolute/path/to/ssh-guard"
    ]
  },
  "entries": {
    "ssh-guard": {
      "enabled": true
    }
  }
}

Repo Positioning

When the user asks what this repository is for, explain:

  • this repository is mainly for publishing and reusing the ssh-guard plugin
  • the plugin blocks commands whose command text contains ssh until the user explicitly approves them
  • the repository also includes language-specific entry files so deployments can choose Chinese or English approval prompts
  • the plugin requires isolated top-level session.dmScope for DM use, and should not be installed with session.dmScope: "main"

Notes

  • Prefer direct, actionable installation guidance over re-explaining the internal approval state machine.
  • If the user asks to install the plugin into another repo, update that repo’s config to reference this repository cleanly.
  • If language preference is unknown and no surrounding context suggests otherwise, choose English by default and mention that Chinese is available.

📦 Repository: https://github.com/yanbo92/ssh-guard

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Gigo Lobster Resume

🦞 GIGO · gigo-lobster-resume: 续跑入口:v2 stable 当前会清理旧 checkpoint 并从头重跑;保留此 slug 作为旧 checkpoint 兼容入口。 Triggers: 继续试吃 / 恢复评测 / resume tasting / continue lobster...

Registry SourceRecently Updated
General

YiHui CONTEXT MODE

context-mode is an MCP server that saves 98% of your context window by sandboxing tool outputs. It routes large file reads, shell outputs, and web fetches th...

Registry SourceRecently Updated
General

xinyi-drink

Use when users ask about 新一好喝/新一咖啡 drinks, stores, menu, activities, Skill用户大礼包, today drink recommendations, afternoon tea, feeling sleepy, or personalized...

Registry SourceRecently Updated
General

vedic-destiny

吠陀命盘分析中文入口。用于完整命盘研判、命主盘 Rashi chart 与九分盘 Navamsha chart 联读、既往事件回看、出生时间稳定度判断、事业主题、婚姻主题、时空盘专题,以及基于 Jagannatha Hora PDF、星盘截图或文本命盘数据的系统拆盘。当用户提到完整星盘、事业方向、婚姻问题、关系窗...

Registry SourceRecently Updated