SSH MCP: как дать ИИ-агенту доступ к серверу и не уронить прод
Как работает SSH MCP Server: инструменты для команд, сессий и SFTP, обязательный конфиг, классификация команд и подтверждение опасных действий. Установка, подключение к десктопному агенту и правила, без которых агенту на сервер лучше не ходить.
SSH MCP даёт ИИ-агенту доступ к удалённому серверу: выполнять команды, смотреть логи, загружать и скачивать файлы. Запросов по теме пока немного, около сотни в месяц, но они быстро растут: всё больше людей хотят поручить агенту «посмотри, почему упал nginx» вместо того, чтобы копировать вывод команд в чат.
Задача полезная и опасная одновременно. Разберём, как устроен популярный сервер и какие правила стоит завести до первого подключения.
Что это за сервер
SSH MCP Server (пакет ssh-mcp, лицензия MIT) во второй версии даёт агенту 11 инструментов.
Автор делит их на группы:
- только чтение:
list-connections,list-sessions,read-command,read-session-output,sftp-download; - изменяющие:
run-command,privileged-command,sftp-upload,signal-process,close-session; - работа с сессиями:
open-sessionдля интерактивной или фоновой сессии.
Перед выполнением сервер классифицирует команду: только чтение, безопасная, разрушающая или привилегированная. Для разрушающих предусмотрено подтверждение человеком. Все действия пишутся в журнал с маскировкой секретов.
Установка
npm install -g ssh-mcp
Без конфига сервер запускается, но отказывается выполнять команды и пишет, где файл должен лежать:
- Windows:
%APPDATA%\ssh-mcp\config.toml; - macOS:
~/Library/Application Support/ssh-mcp/config.toml; - Linux:
~/.config/ssh-mcp/config.toml.
В конфиге описываются хосты, группы и политика: какой роли что разрешено на какой группе
серверов. На Linux и macOS сервер требует закрытых прав на папку (700) и файл (600).
Полезные параметры: --timeout (по умолчанию 60 секунд), --maxChars (длина команды, по
умолчанию 5000), --transport (stdio по умолчанию или http).
Правила из документации, которые стоит выучить
Автор пишет прямо:
- никогда не подключай сервер к аккаунту root;
- никогда не ставь автоматическое одобрение на профиле продакшена;
- пароли и ключи передавай только через переменные окружения или SSH-агент, не через аргументы командной строки: аргументы видны в списке процессов.
От себя добавим ещё три:
- заведи на сервере отдельного пользователя для агента с минимальными правами;
- начинай с группы серверов, где разрешено только чтение;
- для прода держи отдельный профиль, и пусть каждая изменяющая команда требует подтверждения.
Агент может ошибиться в команде так же, как человек, только быстрее и увереннее. rm не
в той папке или перезапуск не того сервиса на проде — это не гипотеза, а обычный риск.
Подтверждение изменяющих команд здесь не бюрократия.
Подключение к Доке
Дока запускает MCP-серверы как локальные процессы через stdio:
- команда:
ssh-mcp; - переменные окружения: путь к ключу или SSH-агенту по инструкции сервера.
Если сервер ставил через npx, команда npx, аргументы -y и ssh-mcp. Общая инструкция
по форме — здесь.
У Доки есть и свой терминал. На компьютере, где уже настроен SSH, агент может запускать
ssh user@host 'команда' и без MCP. Разница в контроле: SSH MCP даёт классификацию команд,
политику по хостам и журнал действий. Для серьёзных серверов это того стоит.
Что поручать
Хорошо заходят задачи на чтение и разбор:
- «Сайт отдаёт 502. Посмотри статус nginx и приложения, последние 200 строк логов и скажи причину»;
- «Сколько места осталось на дисках и что занимает больше всего в
/var»; - «Сравни конфиг nginx на двух серверах и покажи разницу»;
- «Скачай логи за вчера в папку
logsна моём компьютере и найди в них ошибки».
Изменения лучше давать после того, как агент показал диагноз: «перезапусти сервис», «поправь этот параметр конфига и проверь синтаксис перед перезагрузкой».
Модель в Доке можно держать локальной: логи и конфиги серверов не уходят к провайдеру модели. Для сложной диагностики подходит облачная модель Доки, она оплачивается российской картой.
С чего начать
Создай на тестовом сервере пользователя без sudo, опиши его в конфиге с доступом только на чтение, скачай Доку и попроси проверить место на диске. Когда станет понятно, как агент работает, расширяй права.