ssh · openhands — скилл для Claude Code: SSH-подключения и передача файлов
Скилл для работы с удалёнными машинами: подключение по паролю или ключу, генерация ключей, конфиги, команды на сервере и передача файлов через SCP.
npx skills add OpenHands/extensions --skill ssh -a claude-codeЧто делает ssh
Скилл даёт агенту набор команд для SSH: подключиться к удалённому хосту, выполнить там команду, скопировать файл или каталог через scp. Отдельно разобрана работа с ключами — генерация пары через ssh-keygen, копирование публичного ключа на сервер, подключение с -i.
Внутри есть раздел про конфиг ~/.ssh/config: создание файла с алиасом, HostName, User, IdentityFile и Port, чтобы потом писать просто ssh alias. Ещё описаны частые опции — порт, X11 forwarding, проброс портов в обе стороны, фоновый режим и подробный лог через -v. Для Windows есть отдельный файл references/windows.md с эквивалентами на PowerShell.
Пароль скилл не хранит: при подключении по паролю он спросит его у вас. Приватные ключи должны лежать с правами 600, каталог ~/.ssh — 700, иначе SSH откажется работать. Если ключ хоста на сервере сменился, старую запись в known_hosts придётся убрать через ssh-keygen -R hostname — это частый случай после переустановки сервера.
Какие задачи решает
- зайти на удалённый сервер по ключу вместо пароля
- сгенерировать пару ключей ed25519 и положить публичный на хост
- настроить алиас в
~/.ssh/config, чтобы не набирать хост и порт каждый раз - скопировать каталог на сервер рекурсивно через
scp -r - разобраться, почему SSH не пускает: права на ключ, порт, сменившийся ключ хоста
Примеры запросов агенту
- Подключись к серверу по ssh и покажи список процессов
- Сгенерируй ключ ed25519 и настрой алиас в ~/.ssh/config для этого хоста
- Скопируй папку dist на удалённую машину через scp
Как установить ssh
1Через Skills CLI (Vercel)
npx skills add OpenHands/extensions --skill ssh -a claude-code2Вручную: положить файлы
~/.claude/skills/ssh/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/ssh/
1Через Skills CLI (Vercel)
npx skills add OpenHands/extensions --skill ssh -a codex2Вручную: положить файлы
.agents/skills/ssh/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add OpenHands/extensions --skill ssh -a cursor2Вручную: положить файлы
.cursor/skills/ssh/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install OpenHands/extensions ssh2Вручную: положить файлы
.github/skills/ssh/SKILL.md1Через Skills CLI (Vercel)
npx skills add OpenHands/extensions --skill ssh -a gemini-cli2Командой платформы
gemini skills install https://github.com/OpenHands/extensions --path skills/sshВручную: положить файлы
.devin/skills/ssh/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add OpenHands/extensions --skill ssh -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о ssh
Как установить скилл ssh в Claude?
Выполните npx skills add OpenHands/extensions --skill ssh -a claude-code. После этого файл скилла окажется в ~/.claude/skills/ssh/SKILL.md.
Что делает скилл ssh?
Помогает агенту подключаться к удалённым машинам, выполнять там команды, работать с ключами и конфигом SSH, а также передавать файлы через SCP.
Что нужно для работы скилла?
Ничего сверх обычного SSH-клиента. Пароль при подключении скилл запрашивает у вас, а приватные ключи должны иметь права 600 — иначе соединение не пройдёт.
Исходный текст
SKILL.md · MIT
---
name: ssh
description: Establish and manage SSH connections to remote machines, including key generation, configuration, and file transfers. Use when connecting to remote servers, executing remote commands, or transferring files via SCP.
triggers:
- ssh
- remote server
- remote machine
- remote host
- remote connection
- secure shell
- ssh keys
---
# SSH Skill
This skill provides capabilities for establishing and managing SSH connections to remote machines.
Windows PowerShell equivalents for SSH config creation, key paths, ssh-agent, and permissions are in `references/windows.md`.
## Capabilities
- Establish SSH connections using password or key-based authentication
- Generate and manage SSH key pairs
- Configure SSH for easier connections
- Execute commands on remote machines
- Transfer files between local and remote machines
- Manage SSH configurations and known hosts
## Authentication Methods
### Password Authentication
```bash
ssh username@hostname
```
When prompted, you should ask the user for their password or a private key.
### Key-Based Authentication
Generate a new SSH key pair:
```bash
ssh-keygen -t ed25519 -f ~/.ssh/key_name -C "comment" -N ""
```
Copy the public key to the remote server:
```bash
ssh-copy-id -i ~/.ssh/key_name.pub username@hostname
```
Connect using the private key:
```bash
ssh -i ~/.ssh/key_name username@hostname
```
## SSH Configuration
Create or edit the SSH config file for easier connections:
```bash
mkdir -p ~/.ssh
cat > ~/.ssh/config << 'EOF'
Host alias
HostName hostname_or_ip
User username
IdentityFile ~/.ssh/key_name
Port 22
ServerAliveInterval 60
EOF
chmod 600 ~/.ssh/config
```
Then connect using the alias:
```bash
ssh alias
```
## Common SSH Options
- `-p PORT`: Connect to a specific port
- `-X`: Enable X11 forwarding
- `-L local_port:remote_host:remote_port`: Set up local port forwarding
- `-R remote_port:local_host:local_port`: Set up remote port forwarding
- `-N`: Do not execute a remote command (useful for port forwarding)
- `-f`: Run in background
- `-v`: Verbose mode (add more v's for increased verbosity)
## File Transfer with SCP
Copy a file to the remote server:
```bash
scp /path/to/local/file username@hostname:/path/to/remote/directory/
```
Copy a file from the remote server:
```bash
scp username@hostname:/path/to/remote/file /path/to/local/directory/
```
Copy a directory recursively:
```bash
scp -r /path/to/local/directory username@hostname:/path/to/remote/directory/
```
## SSH Agent
Start the SSH agent:
```bash
eval "$(ssh-agent -s)"
```
Add a key to the agent:
```bash
ssh-add ~/.ssh/key_name
```
## Troubleshooting
- Check SSH service status on remote: `systemctl status sshd`
- Verify SSH port is open: `nc -zv hostname 22`
- Debug connection issues: `ssh -vvv username@hostname`
- Check permissions: SSH private keys should have 600 permissions (`chmod 600 ~/.ssh/key_name`)
- Verify known_hosts: If host key changed, remove the old entry with `ssh-keygen -R hostname`
## Secure SSH Key Management
### Local Storage with Proper Permissions
The most basic approach is to ensure proper file permissions:
```bash
# Set correct permissions for private keys
chmod 600 ~/.ssh/id_ed25519
# Set correct permissions for public keys
chmod 644 ~/.ssh/id_ed25519.pub
# Set correct permissions for SSH directory
chmod 700 ~/.ssh
```
© OpenHands · MIT · OpenHands/extensions
Похожие скиллы
Всё по теме «DevOps и инфраструктура» →Сначала — ssh от других авторов.