Skip to main content
Glama
Steph-ux

ssh-mcp

by Steph-ux

ssh-mcp v4.0

MCP-сервер для постоянной работы по SSH на Linux-хостах и сетевых устройствах.

Возможности

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

  • Безопасное хранение учётных данных через Windows Credential Manager

  • Поддержка сетевых устройств: Cisco IOS/IOS-XE/XR, MikroTik, FortiGate, Juniper

  • Управление конфигурацией: резервное копирование, восстановление, diff для сетевых устройств

  • SFTP: загрузка, скачивание, список удалённых файлов

  • SSH-туннели: постоянное перенаправление портов

  • Ограничение скорости: предотвращает перегрузку устройств (минимум 100 мс между командами)

  • Умное подключение: используйте ssh_connect(alias='vps') для автоматической загрузки сохранённых учётных данных

Related MCP server: SSH MCP Server

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

1. Сохраните сервер (один раз)

ssh_save_server(
    alias='vps',
    host='192.168.10.1',
    username='sassogba',
    password='your-password',
    auto_connect=True  # Auto-connect on startup
)

2. Подключение (простой режим)

ssh_connect(alias='vps')  # Loads credentials from servers.json

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

ssh_exec(alias='vps', command='df -h')
ssh_exec_sudo(alias='vps', command='systemctl restart nginx', sudo_password='...')

Что нового в v4.0

Режим умного подключения

  • ssh_connect теперь принимает только alias для автоматической загрузки учётных данных

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

  • Исправляет проблемы интеграции с Claude Code

Критические исправления

  • Обработка тайм-аутов: теперь вызывает TimeoutError вместо молчаливого возврата неполных буферов

  • Ограничение скорости: минимум 100 мс между сетевыми командами для предотвращения перегрузки устройств

  • Устранение магических чисел: именованные константы для размеров терминала

Документация

  • Новый CLAUDE_CODE_USAGE.md с полными примерами использования

  • Новый CLAUDE_CODE_SETUP.md для настройки

  • Новый CHANGELOG.md с полной историей версий

Модель безопасности

servers.json хранит только нечувствительные метаданные. Секреты хранятся в Windows Credential Manager по таким целевым именам, как:

  • ssh-mcp:<alias>:password

  • ssh-mcp:<alias>:key_passphrase

Политика ключей хоста

  • strict: по умолчанию, отклоняет неизвестные ключи хоста (продакшн)

  • auto_add: принимает неизвестные ключи хоста (только для лаборатории)

Сетевые устройства

Поддерживаемые типы устройств:

  • cisco - Cisco IOS/IOS-XE

  • cisco_xr - Cisco IOS-XR

  • mikrotik - MikroTik RouterOS

  • fortigate - FortiGate FortiOS

  • juniper - Juniper JunOS

  • generic - Linux/Unix (по умолчанию)

Пример: резервное копирование Cisco

# Save once
ssh_save_server(
    alias='cisco-core',
    host='10.0.0.1',
    username='admin',
    password='...',
    device_type='cisco',
    auto_connect=True
)

# Connect
ssh_connect(alias='cisco-core')

# Backup config
ssh_backup_config(alias='cisco-core', device_type='cisco')
# Saved to: backups/cisco-core/cisco-core_2026-05-31_14-30-00.txt

# Execute commands
ssh_exec_network(
    alias='cisco-core',
    commands=['show version', 'show ip interface brief'],
    device_type='cisco'
)

# Push config
ssh_push_config(
    alias='cisco-core',
    config='''
interface GigabitEthernet0/1
 description Uplink to Core
 ip address 10.0.1.1 255.255.255.0
 no shutdown
''',
    device_type='cisco',
    save_config=True
)

Использование с Claude Code

См. CLAUDE_CODE_USAGE.md для подробных примеров.

TL;DR:

1. Save: ssh_save_server(alias='vps', host='192.168.10.1', username='sassogba', password='...')
2. Connect: ssh_connect(alias='vps')
3. Execute: ssh_exec(alias='vps', command='df -h')

Доступно 18 инструментов

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

  • ssh_connect - установить постоянное SSH-подключение (умный режим: просто укажите alias)

  • ssh_disconnect - закрыть подключение и туннели

  • ssh_list - список активных подключений со статусом

Постоянная конфигурация

  • ssh_save_server - сохранить сервер в servers.json (секреты в Credential Manager)

  • ssh_remove_server - удалить сохранённый сервер

  • ssh_list_servers - список всех сохранённых серверов

Выполнение на Linux/Unix

  • ssh_exec - выполнить команду оболочки

  • ssh_exec_sudo - выполнить с sudo (автоматический ввод пароля)

Выполнение на сетевых устройствах

  • ssh_exec_network - выполнение команд на сетевых устройствах (обрабатывает пагинацию, запросы)

  • ssh_push_config - развернуть блок конфигурации

  • ssh_backup_config - резервное копирование текущей конфигурации в локальный файл

  • ssh_restore_config - восстановление конфигурации из файла резервной копии

  • ssh_diff_config - сравнение конфигураций (diff в стиле git)

SFTP

  • ssh_upload - загрузить файл на удалённый сервер

  • ssh_download - скачать файл с удалённого сервера

  • ssh_list_remote - список содержимого удалённого каталога

Туннели

  • ssh_tunnel - создать постоянный SSH-туннель (перенаправление портов)

  • ssh_close_tunnel - закрыть туннель по метке

Архитектура

  • SSHPool: потокобезопасный пул подключений с автоматическим переподключением

  • SSHConnection: состояние каждого подключения с RLock для потокобезопасности

  • ThreadPoolExecutor: обёртка async/await для Paramiko (который синхронный)

  • Ограничитель скорости: минимум 100 мс между командами для предотвращения перегрузки устройств

  • Обработка тайм-аутов: несколько уровней (на команду, общий, абсолютный) с корректным распространением ошибок

Требования

paramiko>=3.0.0
mcp>=1.0.0
pywin32>=306

Установка:

pip install -r requirements.txt

Запуск тестов

python -m pytest tests -v

Документация

Лицензия

MIT

F
license - not found
Not graded
quality - not tested
B
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
    A
    quality
    D
    maintenance
    Enables secure SSH connections to multiple remote servers with support for command execution, file transfers (SFTP), directory listing, and both password and key-based authentication.
    7
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables remote server management through SSH and SFTP, supporting command execution, file transfers, and interactive shell sessions. It allows for multiple concurrent connections using either password or SSH key authentication.
    11
    14
    3
    MIT
  • A
    license
    A
    quality
    Not graded
    maintenance
    Enables persistent SSH sessions and SFTP file transfers with native GUI credential prompts for secure remote server management. It supports background command execution, session pooling, and automatic connection reuse across multiple commands.
    7
  • A
    license
    A
    quality
    A
    maintenance
    Enables remote server administration via SSH, supporting command execution, SFTP file transfers, and multi-profile management. It features security safeguards like destructive command detection and audit logging to ensure safe interaction with remote Linux/Unix environments.
    17
    13
    MIT

View all related MCP servers

Related MCP Connectors

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

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

  • Issue, rotate and revoke scoped API-key passes for 25+ providers — the agent never sees a real key

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/Steph-ux/ssh-mcp'

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