SSH MCP Server (classfang) — команды на сервере по SSH
SSH MCP Server (classfang)
MCP-сервер для SSH: агент выполняет команды, читает и пишет файлы по SFTP, передает файлы и запускает долгие задачи, а пароли остаются у вас
- 988 ★ репозитория
- Последний коммит
- ISC
Широкий доступ
Почему такой уровень
- Агент выполняет команды на удаленном сервере с правами выбранного пользователя и может менять и удалять файлы
- Пароль или ключ входа лежат в конфигурации клиента, а пароль в примерах передается обычным аргументом
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add mcp/ssh-mcp-server-classfangОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Агент выполняет команды на удаленном сервере с правами выбранного пользователя и может менять и удалять файлы
- Пароль или ключ входа лежат в конфигурации клиента, а пароль в примерах передается обычным аргументом
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Сервер дает агенту доступ к удаленной машине по SSH через стандартные инструменты MCP. Данные для входа хранятся в локальной конфигурации и модели не передаются. Поддерживаются пароль, приватный ключ (в том числе с парольной фразой), повторное использование ~/.ssh/config, прокси SOCKS5, HTTP и HTTPS, а также двухфакторный вход. Инструменты: `execute-command` выполняет команду, `upload` и `download` передают файлы и целые каталоги, `read-file` и `write-file` работают с текстом через SFTP, `list-servers` показывает настроенные подключения. Для задач, которые идут дольше таймаута команды, есть `job-start`, `job-status`, `job-kill` и `job-list`. Ограничить команды можно регулярными выражениями: --whitelist разрешает только подходящие команды, --blacklist блокирует опасные. Режим transport `exec` подходит для обычных серверов, режим `shell` нужен для бастионов и устройств с интерактивной оболочкой. По умолчанию сервер работает через stdio, а с параметром --mcp-transport http отдает точку Streamable HTTP. В папке skills лежит скилл ssh-mcp-helper, который по вопросам собирает нужный фрагмент mcp.json.
Для кого. Для разработчиков и администраторов, которые хотят, чтобы агент в Claude Code или Cursor работал на удаленных серверах через SSH, не получая пароль.
Подходит, если
- Агент должен посмотреть логи и состояние сервиса на удаленной машине, и вы разрешаете ему только ls, cat и df через `whitelist`
- Нужно выложить собранный каталог на сервер (`upload`) или скачать результат (`download`)
- Доступ к хосту идет через бастион или jump-хост, и обычный `exec` не срабатывает: подойдет transport `shell`
- Сборка или миграция идут дольше таймаута команды, и их удобно запускать как `job-start` с опросом `job-status`
- Хосты уже описаны в ~/.ssh/config, и повторять их параметры в mcp.json не хочется
Не подходит, если
- Нужна работа с боевым сервером без белого списка команд: README настоятельно советует его включать в production
- В режиме `shell` нужны `upload` и `download`: там SFTP отключен, и они не работают
- Доступ по SSH запрещен политикой компании или у машины нет SSH
- Нужен один раз зайти на сервер самому: проще открыть обычный терминал
- Хочется вставить пароль в конфигурацию в открытом виде на общем компьютере: в примерах он передается аргументом командной строки
Пример запроса к агенту
Подключись к серверу `myserver`, покажи свободное место на диске и последние 50 строк лога nginxMCP
- Транспорт
- stdio, http
- Авторизация
- не нужна
Переменные окружения
SSH_MCP_2FA_CODEсекрет- Одноразовый код двухфакторной проверки, нужен вместе с --try-keyboard.
Ограничения
Нужен Node.js, сервер запускается через npx. Белый список проверяет команду целиком, а при его включении отклоняются команды с управляющими символами оболочки: точкой с запятой, амперсандом, конвейером, подстановкой команд, перенаправлением и переводом строки. Регулярные выражения черного списка чувствительны к регистру, и некорректное выражение останавливает запуск. В режиме `shell` команды идут по очереди, а `upload` и `download` недоступны. Пароль в примерах передается аргументами в mcp.json, ключ с парольной фразой безопаснее. Лицензия ISC, последний коммит от 15 октября 2026 года. В примере файла конфигурации для подключения заданы commandTimeoutMs 120000 и maxOutputBytes 10485760, то есть время команды и объем вывода ограничены.
Как отключить. Удалите блок ssh-mcp-server из mcpServers в конфигурации клиента (в Claude Code командой `claude mcp remove`, если подключали через нее) и перезапустите клиент. SSH-ключи и ~/.ssh/config сервер не меняет.
Частые вопросы
Как подключить SSH к Claude Code через MCP?
Добавьте в конфигурацию MCP команду npx с аргументами -y @fangjunjie/ssh-mcp-server --host --port --username и --privateKey или --password. Каждый параметр и его значение идут отдельными элементами массива args, склеивать их пробелом нельзя. Готовый фрагмент соберет скилл ssh-mcp-helper.
Увидит ли модель мой пароль или ключ?
Нет, данные для входа хранятся локально в конфигурации сервера, и модель получает только результаты команд. Автор описывает это как изоляцию учетных данных.
Как ограничить команды, которые может выполнить агент?
Используйте --whitelist и --blacklist: это списки регулярных выражений через запятую. Белый список проверяет команду целиком, а черный блокирует совпадения. Команда должна пройти обе проверки.
Чем отличаются режимы `exec` и `shell`?
`exec` используется по умолчанию и поддерживает `execute-command`, `upload` и `download`. `shell` запускает команды через постоянную сессию с очередью и подходит для бастионов, но SFTP там отключен, поэтому передача файлов не работает.
Как подключить несколько серверов сразу?
Дайте каждому подключению имя и выбирайте его параметром connectionName при вызове. В README четыре способа настройки, рекомендуемый из них файл JSON, где каждое подключение описано полями name, host, port, username и другими. Список настроенных серверов выдает `list-servers`.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыSSH MCP
ssh-mcp
SSH-сервер с упором на безопасность: классификация команд, авторизация по политикам и разные способы входа. Выполняет команды на удаленных серверах
MCP SSH Manager
mcp-ssh-manager
Управление несколькими SSH-подключениями из Claude Code и Codex: команды, перенос файлов, базы данных и бэкапы. Стабильная ветка в npm, в GitHub бета 4.0
Самостоятельно размещаемый MCP-сервер для выполнения команд на удаленных серверах по SSH с токенами и ролями
Менеджер MCP-серверов на Node.js: запускает локальные и подключает удаленные серверы и отдает их клиенту одним адресом с REST API для управления
MCP-сервер из SSH-менеджера purple: агент читает хосты из ~/.ssh/config и контейнеры на них, а команды и управление контейнерами включаются отдельно
Tmux MCP Server — доступ агента к сессиям tmux
Tmux MCP Server
MCP-сервер, через который агент читает панели tmux, запускает в них команды и создает сессии, а вы видите вывод
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| SSH MCP Server (classfang) — команды на сервере по SSH (эта запись) | нет | не нужна | 988 | |
| SSH MCP | нет | API-ключ | 840 | SSH-сервер с классификацией команд и авторизацией по политикам |
| MCP SSH Manager | нет | API-ключ | 527 | менеджер нескольких SSH-подключений с базами данных и бэкапами |
| purple SSH | да | не нужна | 761 | MCP-сервер из SSH-менеджера purple |
Коротко о README
README на китайском, английская версия лежит в README_EN.md. Он описывает возможности, таблицу инструментов и десять сценариев настройки по нарастающей сложности: от пароля до нескольких подключений. Для каждого дан готовый фрагмент mcp.json. Есть раздел про быстрый старт через скилл ssh-mcp-helper и пометка, что аргументы нужно разделять по элементам массива.