Skip to main content
Glama
nqmn

SSH Remote MCP Server

by nqmn

SSH Remote MCP Server

Удаленный доступ по SSH для клиентов, совместимых с MCP, через протокол Model Context Protocol (MCP).

Быстрый старт

  1. Установка:

    pip install -r requirements.txt
  2. Добавление MCP в Claude Desktop или Claude Code:

    Используйте свою конфигурацию MCP и установите команду:

    python3 adremote-mcp/ssh_mcp_server.py

    или

    python.exe adremote-mcp/ssh_mcp_server.py
  3. Добавление MCP в Codex:

    Добавьте тот же сервер в свою конфигурацию MCP в Codex:

    python3 adremote-mcp/ssh_mcp_server.py
  4. Автоматическая настройка:

    Скачайте этот репозиторий, запустите Claude или Codex и попросите его добавить эту папку в качестве глобального MCP-сервера. После этого вы сможете использовать его прямо из чата.

Функции

  • Работает с клиентами, совместимыми с MCP, на Windows и Linux

  • Подключение к удаленным серверам по SSH

  • Встроенная поддержка SSH jump-host / bastion

  • Удаленное выполнение команд

  • Загрузка/скачивание файлов через SFTP

  • Управление несколькими подключениями

  • Мониторинг состояния

Примеры использования

Подключение с паролем:

Connect to 192.168.1.100 with username ubuntu and password mypass

или в сокращенном виде:

ssh 192.168.1.100:22 ubuntu mypass

MCP сначала проверяет SSH-соединение с вашим именем пользователя и паролем. Если вход выполнен успешно, он генерирует или устанавливает SSH-ключ, сохраняет учетные данные на основе ключа локально и не сохраняет пароль. Пароль используется только при первом входе.

Подключение с паролем для разового сеанса:

ssh 192.168.1.100:22 ubuntu mypass, save_credentials false

Это поддерживает только активное соединение. Никакие повторно используемые учетные данные не сохраняются, и автоматическая настройка ключа не выполняется.

Подключение позже с использованием сохраненного имени:

ssh saved-name

После первой успешной настройки просто используйте сохраненное имя учетных данных для повторного подключения.

Подключение через jump-host:

Используйте объект jump_host в ssh_connect или ssh_save_credentials:

{
  "hostname": "10.0.2.15",
  "username": "ubuntu",
  "private_key_path": "~/.ssh/id_ed25519",
  "jump_host": {
    "hostname": "203.0.113.10",
    "username": "bastion",
    "private_key_path": "~/.ssh/id_ed25519",
    "port": 22
  }
}

Это использует встроенный SSH-туннель к целевому хосту, а сохраненные учетные данные сохраняют ту же конфигурацию jump-host. Для повторно используемых сохраненных учетных данных jump-host должен использовать private_key_path, а не пароль.

Выполнение команд:

List files in /home directory on my server
Run 'top' command on the remote server
Execute script.py and monitor its log

Передача файлов:

Upload local file.txt to /home/user/ on the server
Download /var/log/app.log from the server

Состояние соединения и инвентаризация:

Check health of all SSH connections
Show me all active SSH connections

Требования

  • Python 3.10+

  • paramiko

  • mcp

Последнее обновление

Версия 1.0.1 добавляет более безопасные и практичные повседневные рабочие процессы SSH:

  • Прямые входы по-прежнему сохраняют повторно используемые учетные данные по умолчанию, но save_credentials=false теперь позволяет отказаться от этого и для сеансов с паролем

  • Потоки сохраненных учетных данных теперь включают помощники для подключения, сохранения, перечисления, удаления и ручной настройки ключей

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

  • Встроенные соединения через jump-host поддерживаются как для активных сеансов, так и для сохраненных учетных данных

  • Сохраненные учетные данные основаны на ключах, поэтому для обычного использования не требуется мастер-пароль

  • Вручную сохраненные пути к закрытым ключам проверяются при их сохранении, а не позже при первом подключении

Поддержка

Свяжитесь со мной для сотрудничества.

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nqmn/adremote-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server