zhinkgit/embeddedskills/ssh
- community
Checking that the SKILL.md file is still in the repository.
SSH/服务器操作助手。用于远程服务器、user@host、SSH 配置、上传下载、部署、跳板机、隧道、端口转发、服务器命令执行等任务;以 ~/.ssh/config 的 Host 别名为唯一服务器清单,优先密钥认证,通过本 skill 的 Python 脚本封装 OpenSSH 操作。
Install
npx vskill@latest install zhinkgit/embeddedskills/sshSKILL.md
SSH Skill
定位
这是一个轻量 SSH 操作网关。它不维护独立服务器数据库,默认只读取和写入标准 OpenSSH 配置:
核心原则:
- 使用
Host别名标识服务器,不直接记忆 IP/密码。 - 优先密钥认证和 OpenSSH 原生命令。
- 通过本 skill 的
scripts/脚本执行 SSH、SCP、配置检查和隧道操作。 - 环境识别优先使用固定只读探测,不用任意命令拼接临时采集脚本。
- 写入
~/.ssh/config前必须自动备份。 - 不鼓励密码落盘;如必须使用密码,优先让 OpenSSH 交互提示或由用户自行配置安全凭据。
何时触发
当用户提到以下任务时使用本 skill:
- SSH、远程服务器、服务器 IP/主机名、
user@host - 登录、执行远程命令、检查服务器状态
- 上传、下载、部署、迁移文件
- 跳板机、
ProxyJump、内网访问 - 隧道、端口转发、数据库连接
- 配置
~/.ssh/config、新增/查找服务器别名
不要用于本机 localhost、当前目录、本地文件操作或普通网络概念解释。
脚本入口
优先从当前 skill 目录调用脚本。脚本目录为:
命令示例均以当前 skill 目录为基准。
常用命令
ssh_exec.py、ssh_transfer.py、ssh_tunnel.py 均支持:
首次连接已确认可信的新开发板时,可显式追加 --accept-new-host-key。测试时如不想写入全局 known_hosts,可追加 --known-hosts-file <临时known_hosts路径>。
列出服务器
查找服务器
多个关键词使用 AND 匹配。先用环境组缩小范围,再用设备别名或标签确定目标。 search 是 find 的等价命令。
确定唯一服务器
仅在结果唯一时继续。退出码 2 表示存在多个候选;必须向用户确认,不能自动 选择第一项。精确的 OpenSSH Host 别名优先。
验证别名解析
新增服务器
写入前脚本会自动备份 ~/.ssh/config:
可选:
执行远程命令
脚本输出 JSON,包含 success、exit_code、stdout、stderr。
探测远端环境
探测脚本只执行内置只读命令,并输出结构化 JSON。它默认启用非交互认证、 禁止端口和 Agent 转发,并要求主机指纹已经可信。需要先查看命令时使用 --dry-run;只有确认新设备可信时才使用 --accept-new-host-key。 探测入口显式禁用 SSH 配置中的 ProxyCommand,不要用它连接必须依赖代理 命令的目标。OpenSSH 仍会解析用户配置;配置中存在 Match exec 时可能执行 本地命令,因此只对可信的 SSH 配置使用探测入口。
上传文件
下载文件
建立本地端口转发
隧道命令会前台运行。需要后台长期保持时,先向用户说明影响和停止方式。
配置格式
推荐配置:
跳板机:
允许保留注释元数据:
descriptionaliasesgroupstagslocation
不要在配置中写入真实密码、Token、私钥内容或其他敏感信息。
操作规则
- 查询类任务可以直接执行。
- 新增或修改
~/.ssh/config前,脚本必须创建备份。 - 删除配置、覆盖远程文件、部署、批量执行、端口转发等有风险操作,先向用户确认。
- 不直接运行裸
ssh/scp,优先使用本 skill 的脚本;只有在脚本不可用或用户明确请求时,才说明原因并使用回退命令。 - 不修改 Git、系统服务、防火墙、远程生产环境配置,除非用户明确要求。
- 执行远程命令时优先只读检查;涉及重启、删除、覆盖、安装、升级时先确认。
- 输出给用户时说明目标别名、实际 HostName、执行命令、关键结果和失败原因。
故障排查
优先检查:
python scripts/ssh_config.py show <别名>ssh -G <别名>是否能解析 HostName/User/Port- 密钥文件是否存在,权限是否合适
ProxyJump别名是否也在~/.ssh/config- 网络是否可达,端口是否开放
- 首次连接是否需要显式追加
--accept-new-host-key
如果脚本失败,保留真实 stderr,不要吞掉错误。
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingssh/SKILL.md
Popularity
- Repository stars
- 728
- Repository forks
- 94
- 7-day trend score
- 33
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/zhinkgit/embeddedskills/ssh)