termal.in

SSH для агентов

MCP-сервер для SSH

Termalin — обычный SSH-клиент и терминал, но со встроенным MCP-сервером. Добавьте его в claude.ai или ChatGPT как коннектор или подключите Claude Code и любого агента, который говорит на Model Context Protocol, к своим хостам — он выполняет команды и читает и пишет файлы по SSH и SFTP. Ваши ключи никогда не покидают ключ-агент Termalin, а каждое действие отображается в реальном времени, записывается и попадает в журнал аудита.

Облачный сервер опубликован в официальном MCP Registry как in.termal/termalin-web.

Что он делает

MCP — открытый стандарт для подключения ИИ-агентов к инструментам. Большинство MCP-серверов оборачивают какой-нибудь API; MCP-сервер Termalin оборачивает ваши серверы — так агент действительно может управлять инфраструктурой: смотреть хвост лога, перезапускать сервис, проверять диск, править конфиг, деплоить. Он аутентифицируется через ключ-агент Termalin, поэтому приватный ключ никогда не передаётся ни агенту, ни модели.

Инструменты

Облачный эндпоинт предоставляет 16 инструментов, локальный сервер termalin-mcp — 22: общее ядро ниже плюс инструменты для сессий, туннелей и живого терминала; строки с пометкой «облачный эндпоинт» есть только там. Полный список с аргументами — в справочнике инструментов MCP (на английском). Общее ядро:

ИнструментЧто делает
hosts_listСписок хостов, к которым агенту разрешён доступ.
ssh_execВыполняет разовую команду на хосте и возвращает её вывод и код завершения.
ssh_exec_manyВыполняет одну и ту же команду сразу на нескольких хостах — облачный эндпоинт.
job_start / status / stop / listЗапускает долгую сборку или миграцию в фоне, позволяет вернуться за логом и кодом завершения и остановить её — облачный эндпоинт. Задачи переживают ход агента и обрыв соединения.
server_metricsСвежие показатели CPU, памяти, диска, нагрузки и сети по всем серверам или подробности по одному серверу со средними и пиковыми значениями за последние часы; данные берутся из мониторинга Termalin, на сервере ничего не запускается — только облачный эндпоинт.
alerts_listЧто, по данным мониторинга, не в порядке прямо сейчас (заканчивается место на диске, память или нагрузка на пределе, упавшая служба, истекающий сертификат, сервер не в сети) и что пришло в норму за последние семь дней — только облачный эндпоинт.
sftp_listСписок содержимого каталога по SFTP.
sftp_readЧитает текстовый файл по SFTP (с ограничением размера, только текст) — облачный эндпоинт; локальный сервер использует sftp_get.
sftp_writeЗаписывает текстовый файл по SFTP — облачный эндпоинт; локальный сервер использует sftp_put.
generate_passwordГенерирует надёжный пароль по запросу — длину и наборы символов задаёте вы.
data_queryЗапрос к базе данных на хосте — без пароля: запускает родной клиент СУБД через туннель без ключа, полагаясь на локальное доверие (peer-аутентификация Postgres, аутентификация MySQL через сокет, redis-cli, mongosh, sqlite3). По умолчанию только чтение.
data_tablesСписок таблиц / коллекций / ключей базы данных на хосте — тем же путём без пароля.
data_schemaОписывает столбцы одной таблицы.

Локальный сервер добавляет к ним:

ИнструментЧто делает
session_open / exec / close / listОткрывает постоянную SSH-сессию, выполняет в ней команды и управляет ею.
sftp_get / sftp_putСкачивает и загружает файлы.
tunnel_open / close / listОткрывает проброс портов на хосте — чтобы добраться до сервиса за ним, открыть доступ к локальному сервису или пустить трафик через хост — и управляет пробросами.
terminal_open / run / run_many / sessions / hostsУправляет запущенным десктоп-приложением: открывает живые вкладки терминала или входит в уже открытую вами сессию и работает рядом с вами (только с вашего согласия).
data_list / tables / schema / queryПросмотр сохранённых баз данных и запросы к ним — список баз, таблиц и столбцов, запрос только на чтение. Выключено по умолчанию, включается для каждого подключения отдельно и только с вашего согласия.

Три способа подключения

1 · claude.ai / ChatGPT — в чате, которым вы уже пользуетесь

Ничего не нужно устанавливать, ключ вставлять не нужно. Добавьте Termalin как коннектор и управляйте серверами в разговоре:

  • claude.ai: откройте страницу коннектора Termalin → Connect (или Settings → Connectors → Add custom connector → https://termal.in/mcp)
  • ChatGPT: добавьте Termalin из каталога приложений (найдите Termalin в разделе Apps) или Settings → Connectors → тот же URL
  • Claude Code: claude mcp add --transport http termalin https://termal.in/mcp, затем выполните /mcp и войдите. Другие клиенты, которые поддерживают удалённые MCP-серверы со входом (Codex, Cursor, VS Code), принимают тот же URL.

Чат открывает страницу входа Termalin; вы один раз подтверждаете доступ, и он может показывать список серверов, выполнять команды, читать и писать файлы и проверять мониторинг и оповещения — «проверь диск на prod», «покажи хвост лога nginx», «исправь этот конфиг» прямо из разговора. Доступ выдаётся через OAuth — он ограничен вашими собственными серверами, подключёнными через Connector, попадает в журнал аудита и отзывается в любой момент. Каждое подключённое приложение получает собственную политику команд — полный доступ, список разрешённых команд или только чтение — она задаётся в карточке «AI-приложения» вашего аккаунта.

Подробные инструкции: коннектор для ChatGPT и коннектор для claude.ai.

Условия, которые новички часто упускают: для облачного сервера нужен аккаунт на Pro или пробный период на 14 дней; чат видит только серверы, подключённые через Connector — войдите на termal.in/account, нажмите «Добавить Connector», скопируйте однострочную команду установки и выполните её на сервере (хост, который есть только в десктоп-приложении, останется недоступен). А в самом разговоре включите Termalin через меню инструментов в поле ввода — добавить коннектор в настройках не всегда достаточно.

2 · Локальный сервер (работает на вашей машине)

Укажите MCP-клиенту вашего агента встроенный бинарник termalin-mcp. Для Claude Code:

claude mcp add termalin -- <path>/termalin-mcp

Или в конфигурации MCP-клиента:

{
  "mcpServers": {
    "termalin": { "command": "<path>/termalin-mcp" }
  }
}

Сервер работает с хостами, которые вы выбрали в Настройки → «Доступ агента (MCP)» (они сохраняются только с агентской аутентификацией — никаких паролей на диске). У каждого хоста к тому же есть свой уровень доступа агента — полный, список разрешённых команд или запрет, — он задаётся в настройках самого хоста.

3 · Облачный эндпоинт с API-ключом (CI, скрипты, другие агенты)

Создайте API-ключ в веб-кабинете и укажите любому агенту HTTP-эндпоинт MCP:

{
  "mcpServers": {
    "termalin": {
      "url": "https://termal.in/api/v1/mcp",
      "headers": { "Authorization": "Bearer tk_live_…" }
    }
  }
}

Он выполняет команды и передаёт файлы на ваших серверах с туннелем — тех, где запущен агент Connector, установленный одной командой, — даже когда на вашей машине ничего не открыто. Аутентификация идёт по краткосрочному сертификату, поэтому ключ никому не выдаётся. API-ключи можно ограничить конкретными серверами, назначить им политику команд — полный доступ, список разрешённых команд или только чтение, — задать срок действия (30 / 90 / 365 дней) и отозвать в любой момент.

Эти способы ведут к разным хостам: локальный сервер работает с хостами, которые вы экспортируете из приложения; чат-коннекторы и эндпоинт с API-ключом — с вашими серверами, подключёнными через Connector. Выбирайте тот, что подходит к месту, где работает ваш агент.

Инструкции по настройке

Пошагово для каждого клиента:

  • Claude Code — одна строка claude mcp add.
  • ChatGPT и claude.ai — чат-коннектор с OAuth.
  • Cursor — одна запись в mcp.json.
  • Codex — одна запись в config.toml.
  • Gemini CLI (на английском) — CLI от Google по SSH.

Контроль остаётся у вас

  • Доступ агентов выключен по умолчанию; разрешение агенту печатать в ваших живых сессиях — ещё один, отдельный переключатель.
  • Доступ настраивается точечно: для каждого хоста в десктоп-приложении (полный / список разрешённых / запрет) и для каждого API-ключа и каждого подключённого ИИ-приложения на облачном эндпоинте (полный / список разрешённых / только чтение) — так агент может только читать на одном сервере и запускать только git на другом.
  • У агента никогда нет вашего ключа — он аутентифицируется через ключ-агент Termalin или краткосрочный сертификат.
  • Каждая команда агента помечается в записи сессии, видна в реальном времени в сетке наблюдения и попадает в журнал аудита.
  • Облачные запуски ограничены по частоте и по времени для каждого API-ключа.

Вопросы и ответы

Как подключить мои серверы к claude.ai или ChatGPT?

В claude.ai: откройте страницу Termalin в каталоге коннекторов и нажмите Connect (или добавьте по URL в Settings → Connectors → Add custom connector → https://termal.in/mcp). Откроется страница входа Termalin; подтвердите доступ — и Claude сможет показывать список ваших серверов, выполнять команды и работать с файлами прямо в чате. В ChatGPT добавьте Termalin из каталога приложений (найдите Termalin в разделе Apps) или добавьте тот же URL в Settings → Connectors. API-ключ вставлять не нужно: доступ выдаётся через OAuth, ограничен вашими собственными серверами, подключёнными через Connector, и его можно отозвать в любой момент.

Что такое MCP-сервер для SSH?

MCP-сервер для SSH открывает SSH и SFTP как инструменты, которые ИИ-агент может вызывать по протоколу Model Context Protocol, — так агент может выполнять команды и читать и писать файлы на ваших серверах. Они бывают двух видов: отдельные серверы (например, ssh-mcp, mcp-ssh), которые хранят ключ там, где запущены, и SSH-клиенты со встроенным сервером (Conduit, XPipe, Termalin). В Termalin такой сервер встроен прямо в SSH-клиент: вы выбираете, к каким хостам у агента есть доступ, а аутентификацию выполняет Termalin, поэтому агент никогда не имеет дела с приватным ключом.

Как дать ИИ-агенту доступ к моим серверам по SSH?

Два способа. Облачный: подключите свои серверы через Connector, затем добавьте https://termal.in/mcp в своего агента и войдите один раз — в Claude Code это claude mcp add --transport http termalin https://termal.in/mcp, затем /mcp для входа; скрипты и CI используют https://termal.in/api/v1/mcp с API-ключом. Десктоп-приложение запускать не обязательно. Локальный: установите Termalin, включите нужные хосты в Настройки → «Доступ агента (MCP)», затем зарегистрируйте встроенный сервер командой claude mcp add termalin -- <path>/termalin-mcp. В любом случае любой агент с поддержкой MCP — Claude Code, Cursor, Codex или ваш собственный — увидит эти хосты и сможет работать с ними по SSH и SFTP.

Может ли ИИ-агент работать по SSH, не видя моего приватного ключа?

Да. Termalin выступает хранителем ключей: вы один раз разблокируете ключи, и Termalin подписывает от имени агента, поэтому приватный ключ никогда не передаётся ни агенту, ни модели. Облачный эндпоинт идёт ещё дальше: каждый запуск аутентифицируется краткосрочным SSH-сертификатом, а не ключом.

У каких SSH-клиентов есть встроенный MCP-сервер?

На октябрь 2026 года: Conduit (SSH, RDP, VNC и веб, около 60 локальных инструментов, Apache-2.0, только через локальный сокет); XPipe (локальный HTTP-MCP-сервер, выключен по умолчанию, только чтение, пока вы не разрешите изменения); VibeShell (около 28 инструментов, MIT, локально); и Termalin (22 локальных инструмента плюс облачный эндпоинт на 16 инструментов по адресу https://termal.in/mcp со входом через OAuth для claude.ai, ChatGPT, Claude Code, Codex и Cursor — серверы доступны без ключа через Connector, с правилами команд для каждого подключения и журналом аудита, на Windows, macOS, Linux, iOS и в браузере). Conduit подойдёт, если нужно одно приложение с открытым кодом для SSH/RDP/VNC; XPipe — если вы живёте в Docker и ВМ; Termalin — если агент должен работать ещё и из CI или из чата, когда десктоп не запущен. См. полный обзор решений (на английском).

Работает ли MCP-сервер без запущенного десктоп-приложения?

Есть оба режима. Локальный сервер работает вместе с десктоп-приложением — для хостов, которые вы из него экспортируете. Облачному серверу — https://termal.in/mcp с разовым входом или https://termal.in/api/v1/mcp с API-ключом — десктоп не нужен вовсе: он обращается к серверам, подключённым через Termalin Connector без ключа, и аутентифицируется краткосрочными сертификатами, поэтому работают и агенты в CI или облачных песочницах. Он опубликован в официальном MCP Registry как in.termal/termalin-web.