SSH Skill
An SSH skill for Codex and Claude Code: remote commands, file transfer and tunnels with one JSON result and replay protection.
- 553 ★ on the repository
- Last commit
Broad access
Why this level
- The agent gains the ability to run commands on your servers, move files and open tunnels.
- Bulk operations affect several machines at once, production included.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/ssh-skillDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The agent gains the ability to run commands on your servers, move files and open tunnels.
- Bulk operations affect several machines at once, production included.
This is third-party code. Review the repository files before installing.
What it does
The skill wraps SSH in one Python entry point, `scripts/ssh_skill.py`. Through it an agent runs commands on remote servers, uploads and downloads files, transfers data between servers and manages configuration, tunnels and a connection daemon. The output is always the same: one JSON document of version 1.0 on stdout with progress on stderr. Remote commands pass as separate arguments and are not re-parsed by the local shell. If a request was sent but no answer arrived, the result is marked `outcome_unknown` and `retryable=false` so the agent does not replay a side effect. Bulk operations only preview a plan by default, running needs `--apply`, and production targets also need `--confirm-production`.
Who it is for. Administrators and developers who hand server work to an agent and want protection against replays and accidental runs on production machines.
Good fit when
- An agent deploys an archive to a server and reads an application log.
- A file is copied between two servers without an intermediate download.
- One command runs on a group of servers after reviewing the target list.
- A tunnel to a database on a remote machine is needed.
Not a fit when
- There is no right to connect to the servers or the agent must not reach them.
- The task is solved locally with no remote machines.
- Python 3.8 or 3.9 must be verified; they are outside the formal test matrix.
Example request
Show the configured servers, then run `uname -a` on example-host and return the result as JSON.Limitations
Python, an OpenSSH client and Paramiko are required; Python 3.10-3.13 are formally supported. Automated tests never connect to real servers, and real checks are run separately by the author. New configuration rejects plaintext passwords and old ones are read with masking only. The agent gets access to your keys and servers, so limit the host list and avoid production access unless necessary. The README gives no ready install command: place the skill in the agent skills directory, for example `.claude/skills/ssh-skill/`.
How to disable. Delete the skill folder from `.claude/skills/` or `.codex/skills/`, stop running tunnels and the connection daemon and remove extra entries from `~/.ssh/known_hosts` if any were added.
FAQ
What does outcome_unknown mean?
The command may have run on the server and the answer was lost. Do not retry: keep the request ID and check state with a separate read-only command.
How do I run a command on a server group?
`cluster` with an environment first previews targets without connecting. Then add `--apply`, plus `--confirm-production` for production servers.
Are passwords stored?
New configuration rejects plaintext passwords; old ones are readable but always masked in output.
What about host keys?
The default is `accept-new`: new keys are accepted and a conflict with a known key is rejected.
How do I check the installation?
Run `python3 scripts/ssh_skill.py doctor --json`; it reports the version, skill copies and drift.
Discussion
No questions or reviews yet.
Related
SkillsDocker Skills
docker-skills
Official Docker skills for agents: Dockerfile and builds, Compose, Sandboxes, Docker Agent and a skill that confirms irreversible actions
KubeShark skill: the agent finds the failure mode first, then writes manifests, Helm and Kustomize to official practice with a rollback plan
SSH MCP Server (classfang): remote commands over SSH
SSH MCP Server (classfang)
An SSH MCP server: the agent runs commands, reads and writes files over SFTP, transfers files and starts long jobs while credentials stay with you
Clipboard bridge over SSH: images from your local clipboard reach Claude Code, Codex CLI and Cursor running on a remote server
31 DevOps skills for Claude Code and Codex: config generators, validators and a Kubernetes debugger for Terraform, Helm, CI and Docker
A skill for Claude Code and Codex that publishes a local service through Cloudflare Tunnel: a temporary link or your own domain.
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| SSH Skill (this card) | no | 553 | ||
| MCP SSH Manager | no | API key | 532 | an MCP server for SSH management; here a skill with a local Python entry point, one JSON result and confirmations for production targets |
| SSH MCP Server (classfang): remote commands over SSH | no | not required | 1,019 | an SSH MCP server for an agent; here a ready skill with replay protection and a preview mode |
README in short
The README covers version 4.0.0, compatibility, invocation on each system, commands, the cluster confirmation gate, the result format and safety boundaries.