Install
openclaw skills install @yanbo92/ssh-guardIntercepts SSH exec calls and pauses them for user approval. Supports one-time and session-wide approval modes, with automatic state cleanup when sessions end.
openclaw skills install @yanbo92/ssh-guardHelp the user install and enable the ssh-guard plugin from this repository.
| Channel | Status |
|---|---|
| Telegram | ✅ Supported |
| Feishu | ✅ Supported |
| Mattermost | ✅ Supported |
| Weixin | ❌ Not Supported |
| Others | 🔍 Unverified |
index.zh-CN.tsindex.en.tsplugins.load.paths.plugins.entries["ssh-guard"].enabled is true.session.dmScope value first.per-channel-peer or per-account-channel-peer, keep it and skip the selection step.session.dmScope: "main" is not supported for this plugin in DM flows.session.dmScope values:
per-channel-peerper-account-channel-peerper-channel-peer: DM session key is agent:<agentId>:<channel>:direct:<peerId>, so the same person gets a different DM session in each channelper-account-channel-peer: DM session key is agent:<agentId>:<channel>:<accountId>:direct:<peerId>, so DM sessions are separated by channel, receiving account, and personper-channel-peerper-account-channel-peer when one channel has multiple accounts and they should not share DM session stateper-channel-peer.Use these entry files:
index.zh-CN.ts: Chinese approval prompts and approval keywordsindex.en.ts: English approval prompts and approval keywordsindex.ts: default entry and currently points to index.en.tsIf the user wants Chinese prompts, either:
index.zh-CN.ts, orindex.ts to export index.zh-CN.tsIf the user wants English prompts, keep the current default or point the entry to index.en.ts.
openclaw.json, make minimal changes:
session.dmScope if missingplugins.load.paths if missingssh-guard to plugins.entries if missingenabled to true unless the user explicitly wants it disabledmain as a valid choice for this plugin's DM setup flow.per-channel-peer and per-account-channel-peer as the recommended DM setup choices for this plugin.session.dmScope is already per-channel-peer or per-account-channel-peer, do not ask the user to change it.agent:<agentId>:<channel>:group:<groupId>.Show config updates in this form:
"session": {
"dmScope": "per-channel-peer"
},
"plugins": {
"load": {
"paths": [
"/absolute/path/to/ssh-guard"
]
},
"entries": {
"ssh-guard": {
"enabled": true
}
}
}
When the user asks what this repository is for, explain:
ssh-guard pluginssh until the user explicitly approves themsession.dmScope for DM use, and should not be installed with session.dmScope: "main"📦 Repository: https://github.com/yanbo92/ssh-guard