# ssh-mcp

Централизованный шлюз для контролируемого доступа ИИ-агентов к серверам по SSH с разделением прав по токенам, журналом аудита и лимитами запросов.

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

## Что делает

Шлюз запускается в Docker и принимает вызовы от ИИ-клиентов по протоколу Streamable HTTP. Вместо раздачи ключей каждому агенту администратор настраивает единый список хостов в `ssh-mcp-config.json` и связывает токены с разрешёнными командами. Внутри работают пул соединений, размыкатель цепи при сбоях узлов и ограничение частоты запросов.

Агенту доступны шесть инструментов линейки `ssh_*`: проверка связи, просмотр доступных серверов и команд, запуск процессов, а также загрузка и выгрузка файлов через SFTP. Интерактивную оболочку сервис не поддерживает. Передача файлов работает строго поштучно, без каталогов и рекурсивных обходов.

Встроенного TLS-терминатора в контейнере нет, поэтому перед выходом в публичную сеть придётся настроить Traefik или nginx.

## Требования
- Нужно: Docker
- Есть удалённый вариант (HTTP): адрес — в README
- Переменные окружения: `CONFIG_DIR`, `LOG_DIR`, `CONFIG_API_ENABLED`, `CONFIG_API_TOKEN` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

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

**Установка**
- Команды запуска нет в реестре MCP — смотрите README репозитория

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

## Примеры запросов агенту
- Проверь доступность сервера `my-server` через `ssh_check_connection`
- Выполни команду `uptime` на хосте `my-server` с помощью `ssh_execute_command`
- Скачай файл `/var/log/app.log` с сервера через `ssh_download_file`

## Похожие
- [REA](https://affpapa.org/nevibecode/mcp/rea.md) — MCP-сервер · ★ 392262
- [World Monitor](https://affpapa.org/nevibecode/mcp/world-monitor.md) — MCP-сервер · ★ 89609
- [mcp](https://affpapa.org/nevibecode/mcp/kubeshark-mcp.md) — MCP-сервер · ★ 12110
- [Robin: AI-Powered Dark Web OSINT](https://affpapa.org/nevibecode/mcp/robin-ai-powered-dark-web-osint.md) — MCP-сервер · ★ 7718
- [jshookmcp](https://affpapa.org/nevibecode/mcp/jshookmcp.md) — MCP-сервер · ★ 2066
- [OpenOSINT](https://affpapa.org/nevibecode/mcp/openosint.md) — MCP-сервер · ★ 1816

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