Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/zhinkgit/embeddedskills/sshnpx skills add zhinkgit/embeddedskills --skill sshgit clone --depth 1 https://github.com/zhinkgit/embeddedskillsWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00082 | $0.01363 |
| Opus 5 | $0.00041 | $0.00681 |
| Sonnet 5 | $0.00016 | $0.00273 |
| Haiku 4.5 | $0.00008 | $0.00136 |
Grade C, and why
ssh scanned grade C with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Reaches for credential fileshighPrivilege escalation
SSH keys, cloud credentials, git-credentials, .npmrc, /etc/shadow: reading these is how a config file becomes a credential leak.
python scripts/ssh_config.py add <别名> --host <IP或域名> --user <用户> --port 22 --key ~/.ssh/id_ed25519 How it starts
The opening of the file, as written. The whole thing — 181 lines — stays where its author put it; the contents beside it link to each section on GitHub.
SSH Skill
定位
这是一个轻量 SSH 操作网关。它不维护独立服务器数据库,默认只读取和写入标准 OpenSSH 配置:
~/.ssh/config
核心原则:
- 使用
Host别名标识服务器,不直接记忆 IP/密码。 - 优先密钥认证和 OpenSSH 原生命令。
- 通过本 skill 的
scripts/脚本执行 SSH、SCP、配置检查和隧道操作。 - 写入
~/.ssh/config前必须自动备份。 - 不鼓励密码落盘;如必须使用密码,优先让 OpenSSH 交互提示或由用户自行配置安全凭据。
何时触发
当用户提到以下任务时使用本 skill:
- SSH、远程服务器、服务器 IP/主机名、
user@host - 登录、执行远程命令、检查服务器状态
- 上传、下载、部署、迁移文件
- 跳板机、
ProxyJump、内网访问 - 隧道、端口转发、数据库连接
- 配置
~/.ssh/config、新增/查找服务器别名
不要用于本机 localhost、当前目录、本地文件操作或普通网络概念解释。
脚本入口
优先从当前 skill 目录调用脚本。脚本目录为:
scripts/
命令示例均以当前 skill 目录为基准。
常用命令
ssh_exec.py、ssh_transfer.py、ssh_tunnel.py 均支持:
--accept-new-host-key
--known-hosts-file <临时known_hosts路径>
首次连接已确认可信的新开发板时,可显式追加 --accept-new-host-key。测试时如不想写入全局 known_hosts,可追加 --known-hosts-file <临时known_hosts路径>。
列出服务器
python scripts/ssh_config.py list
查找服务器
python scripts/ssh_config.py find <关键词>
验证别名解析
python scripts/ssh_config.py show <别名>
新增服务器
写入前脚本会自动备份 ~/.ssh/config:
python scripts/ssh_config.py add <别名> --host <IP或域名> --user <用户> --port 22 --key ~/.ssh/id_ed25519
可选:
--description "说明"
--tags tag1,tag2
--location "位置"
--proxy-jump <跳板机别名>
执行远程命令
python scripts/ssh_exec.py <别名> "命令" --timeout 30
脚本输出 JSON,包含 success、exit_code、stdout、stderr。
上传文件
python scripts/ssh_transfer.py upload <别名> "<本地路径>" "<远程路径>"
下载文件
python scripts/ssh_transfer.py download <别名> "<远程路径>" "<本地路径>"
建立本地端口转发
python scripts/ssh_tunnel.py <别名> --local-port <本地端口> --remote-host 127.0.0.1 --remote-port <远程端口>
隧道命令会前台运行。需要后台长期保持时,先向用户说明影响和停止方式。
配置格式
推荐配置:
# description: 开发板
# tags: embedded,linux
# location: lab
Host 1380-P904
HostName 192.168.137.76
User root
Port 22
IdentityFile ~/.ssh/id_ed25519
跳板机:
Host bastion
HostName bastion.example.com
User root
IdentityFile ~/.ssh/id_ed25519
Host internal-dev
HostName 10.0.1.20
User root
IdentityFile ~/.ssh/id_ed25519
ProxyJump bastion
What ships with it
5 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 181 lines · 82 tokens per session scan C c0cb4c28c2ab
ssh is a skill published in the GitHub repository zhinkgit/embeddedskills (606 stars, last pushed 12d ago), licensed MIT. It adds 82 tokens to every session and 1,363 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it C with 1 finding (reaches for credential files). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
browser-qa
Use when you need lightweight browser QA for a web page, local HTML file, or app: inspect console errors, broken assets, keyboard/focus behavior, viewport readability, and publish evidence-backed findings JSON through a local HTML report viewer.
mastra-api
Interact with Mastra development server API for debugging agents, viewing conversation threads, listing/inspecting tools and workflows, accessing observability data, and managing Mastra resources. Use when working with Mastra agents and need to inspect runtime state, debug agent errors, view thread history, see…
create-mermaid-diagrams
Create, validate, and repair Mermaid diagrams for technical documentation with a deterministic CLI feedback loop. Use when an AI needs to create Mermaid diagrams, improve Mermaid diagram quality, validate Mermaid fences in markdown, diagnose Mermaid rendering failures, or fix Mermaid syntax and formatting issues.
create-pull-request
Generate a reviewer-ready pull request or merge request title and description from branch changes. Use when a user asks to draft PR/MR content, summarize branch deltas against a base branch, or optionally create the PR with gh/glab after approval.
tilt-dev
Manage local development environments with Tilt. Use when working with projects that run services via Tilt (indicated by presence of Tiltfile), including checking service status, viewing logs, troubleshooting connectivity issues, or managing the Tilt stack. Essential for projects using Tiltfile with localresource for…
uv-usage
Provides concise guidance for using uv (Python package manager), including project workflows, pip-compatible commands, Python version management, and PEP 723 inline script dependencies. Use when users mention uv, uv run, inline dependencies, PEP 723, or Python dependency/project management.