# ssh

MCP-сервер подключает ИИ к удалённому серверу по SSH: выполняет команды, показывает каталоги и передаёт файлы. Поддерживает SSH-агент.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 81
- Автор: pulsemcp
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/pulsemcp/mcp-servers/tree/HEAD/experimental/ssh
- Обновлён: 2026-10-09
- HTML: https://affpapa.org/nevibecode/mcp/ssh

## Что делает

Сервер даёт агенту доступ к удалённой машине по SSH. Он умеет получать сведения о подключении, просматривать каталоги, скачивать и загружать файлы через SFTP, а также выполнять shell-команды. Без `SSH_HOST` и `SSH_USERNAME` подключение не установится.

Для авторизации сервер сначала использует SSH-агент через `SSH_AUTH_SOCK`, а при его недоступности может взять ключ из `SSH_PRIVATE_KEY_PATH`. Поддерживается проверка подключения при запуске с понятными ошибками. Переменная `ENABLED_TOOLGROUPS` ограничивает доступ: `readonly` оставляет просмотр и скачивание, `write` добавляет загрузку, `admin` открывает выполнение команд. Для запуска используется `npx -y ssh-agent-mcp-server`.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `SSH_HOST`, `SSH_USERNAME`, `SSH_PORT`, `SSH_AUTH_SOCK`, `SSH_PRIVATE_KEY_PATH`, `SSH_PASSPHRASE`, `SSH_TIMEOUT`, `SSH_COMMAND_TIMEOUT`, `ENABLED_TOOLGROUPS`, `SKIP_HEALTH_CHECKS` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env SSH_HOST=<SSH_HOST> --env SSH_USERNAME=<SSH_USERNAME> --env SSH_PORT=<SSH_PORT> --env SSH_AUTH_SOCK=<SSH_AUTH_SOCK> --env SSH_PRIVATE_KEY_PATH=<SSH_PRIVATE_KEY_PATH> --transport stdio ssh -- npx -y ssh-agent-mcp-server
```
Вместо <…> подставьте свои значения. Ещё 6 переменных окружения — в README сервера

### Codex

**Командой платформы**
```bash
codex mcp add ssh --env SSH_HOST=<SSH_HOST> --env SSH_USERNAME=<SSH_USERNAME> --env SSH_PORT=<SSH_PORT> --env SSH_AUTH_SOCK=<SSH_AUTH_SOCK> --env SSH_PRIVATE_KEY_PATH=<SSH_PRIVATE_KEY_PATH> -- npx -y ssh-agent-mcp-server
```
Вместо <…> подставьте свои значения. Ещё 6 переменных окружения — в README сервера

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "ssh": {
            "command": "npx",
            "args": [
                "-y",
                "ssh-agent-mcp-server"
            ],
            "env": {
                "SSH_HOST": "<SSH_HOST>",
                "SSH_USERNAME": "<SSH_USERNAME>",
                "SSH_PORT": "<SSH_PORT>",
                "SSH_AUTH_SOCK": "<SSH_AUTH_SOCK>",
                "SSH_PRIVATE_KEY_PATH": "<SSH_PRIVATE_KEY_PATH>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 6 переменных окружения — в README сервера

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "ssh": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "ssh-agent-mcp-server"
            ],
            "env": {
                "SSH_HOST": "<SSH_HOST>",
                "SSH_USERNAME": "<SSH_USERNAME>",
                "SSH_PORT": "<SSH_PORT>",
                "SSH_AUTH_SOCK": "<SSH_AUTH_SOCK>",
                "SSH_PRIVATE_KEY_PATH": "<SSH_PRIVATE_KEY_PATH>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 6 переменных окружения — в README сервера

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e SSH_HOST=<SSH_HOST> -e SSH_USERNAME=<SSH_USERNAME> -e SSH_PORT=<SSH_PORT> -e SSH_AUTH_SOCK=<SSH_AUTH_SOCK> -e SSH_PRIVATE_KEY_PATH=<SSH_PRIVATE_KEY_PATH> ssh npx -y ssh-agent-mcp-server
```
Вместо <…> подставьте свои значения. Ещё 6 переменных окружения — в README сервера

## Когда брать
- подключить агента к удалённому SSH-серверу
- выполнить shell-команду на удалённой машине
- просмотреть содержимое удалённого каталога
- скачать файл через SFTP
- загрузить файл на сервер

## Примеры запросов агенту
- Проверь подключение к серверу и покажи результат через `ssh_connection_info`.
- Покажи содержимое удалённого каталога через `ssh_list_directory`.
- Выполни на сервере команду `git status` через `ssh_execute`.

## Похожие
- [GitHub](https://affpapa.org/nevibecode/mcp/github.md) — MCP-сервер · ★ 33918
- [Netdata](https://affpapa.org/nevibecode/mcp/netdata.md) — MCP-сервер · ★ 81115
- [Oh My Posh Validator](https://affpapa.org/nevibecode/mcp/oh-my-posh-validator.md) — MCP-сервер · ★ 23643
- [Keploy](https://affpapa.org/nevibecode/mcp/keploy.md) — MCP-сервер · ★ 18727
- [Coder](https://affpapa.org/nevibecode/mcp/coder.md) — MCP-сервер · ★ 17160
- [mcp](https://affpapa.org/nevibecode/mcp/kubeshark-mcp.md) — MCP-сервер · ★ 12109

Из того же набора: [pulsemcp/mcp-servers](https://affpapa.org/nevibecode/by/pulsemcp/mcp-servers.md) — 17 карточек

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
