io.github.tufantunc/ssh-mcp
SSH-сервер с политическим доступом и аудитом для Linux и Windows. Поддерживает роли, согласования и журнал действий.
Что это
SSH-сервер с политическим доступом и аудитом для Linux и Windows. Поддерживает роли, согласования и журнал действий.
Как подключить
Вставьте блок в конфиг клиента (Claude Desktop, Claude Code, Cursor, VS Code, Cline). Команда и package собраны из полей официального MCP Registry.
Что нового в версиях
Исправлено зависание сессий при обрыве соединения и улучшена обработка ошибок сервера.
- Ломает совместимостьБездействующие HTTP-сессии теперь истекают после TTL (по умолчанию 30 минут) или вытесняются при достижении лимита в 64 сессии.
- ИсправленоНекорректно завершенные клиентами сессии больше не занимают место навсегда, освобождая слоты для новых подключений.
- ИсправленоВнутренние ошибки сервера теперь возвращают код 500 и запись в stderr, а не приводят к необработанным исключениям.
- НовоеОбновлены зависимости OpenTelemetry, SDK MCP и другие пакеты до актуальных версий.
В версии 2.16.0 клиенты IPv6 теперь группируются по подсети /64 для общих лимитов аутентификации и запросов.
- Ломает совместимостьКлиенты IPv6 теперь идентифицируются по подсети /64, а не по полному адресу, что объединяет бюджеты лимитов для всей сети.
- НовоеНормализация IPv6-адресов: разные записи (регистр, ведущие нули, суффиксы зоны) теперь приводят к одному ключу клиента.
- НовоеIPv4-адреса, инкапсулированные в IPv6 (например, ::ffff: или NAT64), теперь корректно группируются как IPv4-клиенты.
- ИсправленоПараметры --authFailureLimit и --rateLimit теперь корректно применяют общие лимиты для хостов, находящихся за одним /64.
В v2.13.0 профиль read-only теперь проверяет аргументы команд по грамматике, а не только их имена.
- Ломает совместимостьread-only теперь требует, чтобы каждый аргумент разрешённой команды (cat, grep и др.) соответствовал строгой грамматике бинарного файла, а не просто совпадал с именем.
- Ломает совместимостьКоманды, ранее работавшие в профилях readOnly или роли viewer, теперь могут быть отклонены, если их синтаксис не проходит новую проверку.
- ИсправленоПри отказе в выполнении система указывает конкретное запрещённое слово, помогая пользователю найти допустимый вариант синтаксиса.
- НовоеДобавлены строгие ограничения для таких команд, как uniq, ifconfig, find, git remote show и sort на Windows, исключающие опасные аргументы.
Ужесточена классификация команд: закрыты лазейки для обхода политик безопасности через интерпретаторы и аргументы sort.
- Ломает совместимостьКоманды с незнакомыми бинарниками теперь классифицируются как privileged, если содержат эскалацию прав, что может вызвать запрос подтверждения.
- Исправленоsort --compress-program=<path> больше не считается read-only, так как позволяет запускать произвольные программы.
- НовоеРасширен список интерпретаторов (osascript, lua, bun, deno, pwsh) для корректной проверки безопасности передаваемых им команд.
- ИсправленоИсправлена обработка коротких и длинных аргументов в sort, чтобы исключить обход ограничений через префиксы или кластеры флагов.
Улучшена прозрачность аудита sftp-upload и добавлена маркировка сессий агентов через переменную окружения.
- ИсправленоВ аудите и запросе подтверждения sftp-upload теперь детально описываются параметры загрузки (размер, хеш), а не только путь назначения.
- Ломает совместимостьИзменение формата строки аудита sftp-upload может сломать существующие правила denylist, привязанные к полному тексту команды.
- НовоеКоманды и сессии теперь передают переменную окружения AI_AGENT=ssh-mcp, позволяя операторам отличать сессии агентов от пользовательских.
- НовоеДобавлено поле конфигурации announceAgent, позволяющее отключить отправку переменной AI_AGENT на конкретные хосты.
Исправлена логика классов безопасности для SFTP, зарезервировано пространство команд и улучшена валидация путей.
- ИсправленоИнструменты sftp-list и sftp-download теперь корректно работают в профилях с readOnly, как и заявлено в документации.
- Ломает совместимостьПространство имен команд sftp: и session: зарезервировано; run-command и read-command отказываются выполнять команды с такими префиксами.
- ИсправленоДобавлена строгая валидация удаленных путей для sftp-upload и sftp-download, исключающая пустые, слишком длинные или содержащие управляющие символы пути.
- ИсправленоРазрешено использование символов нулевой ширины ZWNJ и ZWJ, необходимых для корректного отображения персидского и индийских шрифтов.
Все релизы на GitHub → Пересказ на русском — по заметкам к релизам и коммитам.