Skip to main content
Glama
nqmn

SSH Remote MCP Server

by nqmn

SSH Remote MCP Server

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

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

Используйте виртуальное окружение, созданное той же ОС, которая будет запускать сервер MCP. Не используйте один и тот же venv для Windows и WSL/Linux.

Windows

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

    .\install.ps1
  2. Добавьте MCP в Claude Desktop, Claude Code или Codex:

    {
      "mcpServers": {
        "ssh-remote": {
          "command": "C:\\Users\\Intel\\Desktop\\adremote-mcp\\.venv-win\\Scripts\\python.exe",
          "args": [
            "C:\\Users\\Intel\\Desktop\\adremote-mcp\\ssh_mcp_server.py"
          ]
        }
      }
    }

    Если у вас уже установлен Python для Windows с paramiko и mcp, вы можете использовать этот интерпретатор напрямую вместо .venv-win.

WSL/Linux

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

    ./install.sh
  2. Добавьте MCP в Claude Desktop, Claude Code или Codex:

    {
      "mcpServers": {
        "ssh-remote": {
          "command": "/home/user/adremote-mcp/.venv-linux/bin/python",
          "args": [
            "/home/user/adremote-mcp/ssh_mcp_server.py"
          ]
        }
      }
    }

    Если доступ к репозиторию осуществляется через WSL с диска Windows, используйте путь WSL:

    {
      "mcpServers": {
        "ssh-remote": {
          "command": "/mnt/c/Users/Intel/Desktop/adremote-mcp/.venv-linux/bin/python",
          "args": [
            "/mnt/c/Users/Intel/Desktop/adremote-mcp/ssh_mcp_server.py"
          ]
        }
      }
    }

Портативные средства запуска

Вы также можете указать клиенту MCP на прилагаемый файл запуска для соответствующей ОС:

  • Windows: C:\Users\Intel\Desktop\adremote-mcp\run-ssh-mcp.cmd

  • WSL/Linux: /path/to/adremote-mcp/run-ssh-mcp.sh

Средства запуска отдают предпочтение venv, специфичному для ОС, а затем переключаются на python3 или python. В Windows можно задать SSH_MCP_PYTHON, чтобы принудительно использовать конкретный интерпретатор Python.

Для клиентов WSL/Linux используйте command: "/bin/sh" с args: ["/path/to/adremote-mcp/run-ssh-mcp.sh"], если скрипт не помечен как исполняемый.

Прямой запуск

После установки зависимостей вы можете запустить сервер напрямую:

Windows:

.\.venv-win\Scripts\python.exe .\ssh_mcp_server.py

WSL/Linux:

./.venv-linux/bin/python ssh_mcp_server.py

Автоматическая настройка

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

Устранение неполадок

Если Windows сообщает:

No Python at '"/usr/bin\python.exe'

значит, MCP указывает на venv, созданный WSL/Linux. Создайте venv для Windows с помощью .\install.ps1 и обновите команду MCP до .venv-win\Scripts\python.exe.

Related MCP server: MCP SSH Server

Функции

  • Работает с клиентами, совместимыми с 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

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

Подключение с зашифрованным (защищенным парольной фразой) закрытым ключом:

Connect to 10.0.2.15 as ubuntu using private key ~/.ssh/id_ed25519 with passphrase mysecret

или через параметры инструмента:

{
  "hostname": "10.0.2.15",
  "username": "ubuntu",
  "private_key_path": "~/.ssh/id_ed25519",
  "private_key_passphrase": "mysecret"
}

Парольная фраза сохраняется вместе с сохраненными учетными данными, поэтому будущие вызовы ssh_connect_saved не требуют ее повторного ввода. Вы по-прежнему можете указать private_key_passphrase в ssh_connect_saved, чтобы переопределить сохраненное значение для одного сеанса.

Подключение через 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
  }
}

Ключи jump-host также могут быть защищены парольной фразой — добавьте private_key_passphrase внутри объекта jump_host.

Это использует встроенный 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.3 сохраняет парольную фразу закрытого ключа в сохраненных учетных данных:

  • private_key_passphrase теперь сохраняется в файле учетных данных при сохранении через ssh_connect или ssh_save_credentials

  • ssh_connect_saved автоматически использует сохраненную парольную фразу — нет необходимости указывать ее при каждом вызове

  • Указание private_key_passphrase в ssh_connect_saved переопределяет сохраненное значение только для этого сеанса

  • ssh_list_saved_credentials показывает private key (passphrase saved), если парольная фраза сохранена

Версия 1.0.2 добавляет поддержку защищенных парольной фразой (зашифрованных) закрытых ключей:

  • private_key_passphrase принимается в ssh_connect, ssh_connect_saved и ssh_save_credentials

  • Применяется как к ключу целевого хоста, так и к ключу jump-host

  • Понятные сообщения об ошибках, когда ключ зашифрован, но парольная фраза не указана, или когда парольная фраза неверна

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

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

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

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

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

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

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

Поддержка

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

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • A
    license
    -
    quality
    -
    maintenance
    Connects Claude to remote servers via SSH to execute commands, manage files, and browse directories. It allows users to add, edit, and switch between multiple server configurations through natural language conversations.
  • -
    license
    -
    quality
    -
    maintenance
    Enables Claude Code to control remote servers via SSH for automated deployment, testing, and operations, including command execution and file transfer.
    4

View all related MCP servers

Related MCP Connectors

  • Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.

  • Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.

  • Connect Claude to Fathom meeting recordings, transcripts, and summaries

View all MCP Connectors

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