SSH MCP Server (classfang) — команды на сервере по SSH

SSH MCP Server (classfang)

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

  • 988 ★ репозитория
  • Последний коммит
  • ISC
MCP-сервер

Широкий доступ

Почему такой уровень

  • Агент выполняет команды на удаленном сервере с правами выбранного пользователя и может менять и удалять файлы
  • Пароль или ключ входа лежат в конфигурации клиента, а пароль в примерах передается обычным аргументом
Все причины и проверки

classfang/ssh-mcp-server

Установка

В терминале, через 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 строк лога nginx

MCP

Транспорт
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-серверШирокий доступ840Звезды репозитория

MCP SSH Manager

mcp-ssh-manager

Управление несколькими SSH-подключениями из Claude Code и Codex: команды, перенос файлов, базы данных и бэкапы. Стабильная ветка в npm, в GitHub бета 4.0

MCP-серверШирокий доступ527Звезды репозитория

Самостоятельно размещаемый MCP-сервер для выполнения команд на удаленных серверах по SSH с токенами и ролями

MCP-серверШирокий доступ2Звезды репозитория

Менеджер MCP-серверов на Node.js: запускает локальные и подключает удаленные серверы и отдает их клиенту одним адресом с REST API для управления

MCP-серверШирокий доступ524Звезды репозитория
Официальный

MCP-сервер из SSH-менеджера purple: агент читает хосты из ~/.ssh/config и контейнеры на них, а команды и управление контейнерами включаются отдельно

MCP-серверШирокий доступ761Звезды репозитория

MCP-сервер, через который агент читает панели tmux, запускает в них команды и создает сессии, а вы видите вывод

MCP-серверШирокий доступ305Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
SSH MCP Server (classfang) — команды на сервере по SSH (эта запись)нетне нужна988
SSH MCPнетAPI-ключ840SSH-сервер с классификацией команд и авторизацией по политикам
MCP SSH ManagerнетAPI-ключ527менеджер нескольких SSH-подключений с базами данных и бэкапами
purple SSHдане нужна761MCP-сервер из SSH-менеджера purple

Коротко о README

README на китайском, английская версия лежит в README_EN.md. Он описывает возможности, таблицу инструментов и десять сценариев настройки по нарастающей сложности: от пароля до нескольких подключений. Для каждого дан готовый фрагмент mcp.json. Есть раздел про быстрый старт через скилл ssh-mcp-helper и пометка, что аргументы нужно разделять по элементам массива.

Бейдж для README

Сообщить о проблеме

Foxx AISSH MCP Server (classfang) — команды на сервере по SSH
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.