SSH-MCP Secure
🔐 SSH-MCP Secure
Высокозащищённый SSH MCP-сервер — корпоративное управление SSH с искусственным интеллектом и безопасностью военного уровня
🌟 Ключевые возможности
🔒 Безопасность корпоративного уровня
Шифрование AES-256-GCM — защита всех учётных данных шифрованием военного уровня
Многофакторная аутентификация (MFA) — поддержка TOTP + резервных кодов
Аутентификация по SSH-ключам — поддержка ED25519 и RSA-4096
Управление доступом на основе ролей (RBAC) — детальное управление правами
Защита автоматическим выключателем — 8 отказоустойчивых контуров защищают ключевые сервисы
Полные журналы аудита — полная отчётность для соответствия требованиям
🤖 ИИ-интеллект
Контекстно-зависимая помощь — рекомендации команд в реальном времени на основе текущего контекста
Определение технологического стека — автоматическое распознавание стека проекта и рекомендации
Распознавание шаблонов — изучение истории команд на основе машинного обучения
GitHub-интеллект — анализ сообщества и поиск лучших практик
Прогнозные операции — прогнозирование проблем с помощью анализа тенденций
📊 Мониторинг и соответствие требованиям
Метрики Prometheus — мониторинг производительности в реальном времени
Панель Grafana — визуализация состояния системы
Структуры соответствия — SOC2, GDPR, NIST, HIPAA, PCI-DSS, ISO 27001
Анализ ошибок — интеллектуальная диагностика ошибок
Управление оповещениями — упреждающие оповещения и автоматическое восстановление
📋 Содержание
🛠️ Установка
Предварительные требования
Node.js 18+ и npm/yarn
Claude Code CLI (необязательно, для интеграции MCP)
Доступ по SSH к целевым серверам
Git
Шаги установки
# Clone 倉庫
git clone https://github.com/your-org/ssh-mcp-secure.git
cd ssh-mcp-secure
# 安裝依賴
npm install
# 構建項目
npm run build
# 配置環境變量
cp .env.example .env
# 編輯 .env 文件填入實際配置
# 測試安裝
npm run security:audit🚀 Быстрый старт
1. Настройка учётных данных сервера
Создайте файл .env:
# 服務器配置
MY_SERVER_HOST=example.com
MY_SERVER_PORT=22
MY_SERVER_USERNAME=myuser
MY_SERVER_PRIVATE_KEY_PATH=/path/to/private_key
MY_SERVER_DEFAULT_DIR=/home/myuser
MY_SERVER_DESCRIPTION=Production Server
# 安全設置
SSH_ALLOW_PASSWORD_AUTH=false
SSH_REQUIRE_KEY_AUTH=true
SSH_MAX_AUTH_RETRIES=3
SSH_LOCKOUT_DURATION=300
# MFA 設置
MFA_ENABLED=true
MFA_REQUIRED_FOR_PRODUCTION=true
# 加密設置
ENCRYPTION_ALGORITHM=AES-256-GCM
ENCRYPTION_KEY_ROTATION_DAYS=90
# 審計日誌
AUDIT_ENABLED=true
AUDIT_LOG_PATH=/var/log/ssh-mcp/audit.log2. Генерация SSH-ключей
# 生成 ED25519 密鑰 (推薦)
ssh-keygen -t ed25519 -a 100 -C "your_email@example.com"
# 或生成 RSA-4096 密鑰
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
# 設置正確的權限
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub3. Настройка MFA
При первом подключении система автоматически сгенерирует настройки MFA:
# 啟動服務器
npm start
# 掃描 QR 碼配置 TOTP
# 使用 Google Authenticator 或 Authy4. Подключение и выполнение
// 安全連接
const session = await secureConnect({
serverName: "my-server",
requireMFA: true
});
// 執行命令
const result = await secureExecute({
sessionId: session.sessionId,
command: "ls -la"
});
console.log(result.stdout);⚙️ Конфигурация
Переменные окружения
Конфигурация сервера
# 命名規範:SERVERNAME_PROPERTY
SERVERNAME_HOST=hostname.com
SERVERNAME_PORT=22
SERVERNAME_USERNAME=username
SERVERNAME_PASSWORD=password # 可選 (不推薦)
SERVERNAME_PRIVATE_KEY_PATH=/path # 推薦
SERVERNAME_PASSPHRASE=passphrase # 可選 (加密密鑰)
SERVERNAME_DEFAULT_DIR=/home/user # 可選
SERVERNAME_DESCRIPTION=Description # 可選Настройки безопасности
# 認證安全
SSH_ALLOW_PASSWORD_AUTH=false # 生產環境禁用密碼
SSH_REQUIRE_KEY_AUTH=true # 要求密鑰認證
SSH_MAX_AUTH_RETRIES=3 # 最大認證嘗試
SSH_LOCKOUT_DURATION=300 # 鎖定時長 (秒)
# SSH 密鑰安全
SSH_KEY_TYPE=ed25519 # 推薦:ed25519
SSH_KEY_MIN_BITS=4096 # 最小 RSA 密鑰位數
SSH_KEY_PASSPHRASE_REQUIRED=true # 要求密鑰短語
# 連接安全
SSH_MAX_RETRIES=3
SSH_RETRY_DELAY=2000
SSH_CONNECTION_TIMEOUT=20000
SSH_STRICT_HOST_KEY_CHECKING=trueНастройки MFA
MFA_ENABLED=true
MFA_REQUIRED_FOR_PRODUCTION=true
MFA_TOTP_ISSUER=SSH-MCP-Secure
MFA_TOTP_DIGITS=6
MFA_TOTP_PERIOD=30
MFA_BACKUP_CODES_COUNT=10Настройки шифрования
ENCRYPTION_ALGORITHM=AES-256-GCM
ENCRYPTION_KEY_LENGTH=256
ENCRYPTION_KEY_ROTATION_DAYS=90
ENCRYPTION_MASTER_KEY=<your-64-char-hex-key>Журналы аудита
AUDIT_ENABLED=true
AUDIT_LOG_PATH=/var/log/ssh-mcp/audit.log
AUDIT_RETENTION_DAYS=90
AUDIT_LOG_FORMAT=json
AUDIT_AUTH_EVENTS=true
AUDIT_COMMAND_EXECUTION=true
AUDIT_FILE_OPERATIONS=true🔒 Функции безопасности
1. Шифрование
AES-256-GCM шифрует все учётные данные
TLS 1.3 для внешних коммуникаций
SSH Protocol 2 для всех SSH-подключений
Ротация ключей — автоматическая ротация каждые 90 дней
2. Аутентификация
Многофакторная аутентификация (MFA) — TOTP + резервные коды
Аутентификация по SSH-ключам — ED25519/RSA-4096
Аутентификация по паролю — необязательно (рекомендуется отключить в производственной среде)
Тайм-аут сеанса — автоматическое истечение через 1 час
3. Управление доступом
Управление доступом на основе ролей (RBAC)
admin— полный доступoperator— права оператораdeveloper— права разработчикаviewer— доступ только для чтения
Принцип минимальных привилегий — по умолчанию запрещён весь доступ
Аудит всех проверок прав — полная трассировка аудита
4. Аудит и соответствие
Полные журналы аудита
Все события аутентификации
Все выполнения команд
Все операции с файлами
Все события сеансов
Все изменения прав
Все обращения к учётным данным
Поддержка структур соответствия
SOC2 Type II
GDPR
NIST Cybersecurity Framework
HIPAA (настраивается)
PCI-DSS (настраивается)
ISO 27001 (настраивается)
5. Отказоустойчивая защита
Автоматический выключатель — защита ключевых сервисов
SSH-подключения
Кэш Redis
Сервис аутентификации
Проверка MFA
Сервис шифрования
Автоматические повторы — экспоненциальная задержка
Проверка работоспособности — мониторинг работоспособности пула подключений
📊 Мониторинг
Метрики Prometheus
# SSH 連接
ssh_connections_active
ssh_commands_total
ssh_errors_total
ssh_command_duration_seconds
# 認證
auth_failures_total
mfa_verifications_total
# 緩存
cache_hits_total
cache_misses_total
cache_hit_rate
# 電路斷路器
circuit_breaker_trips_total
circuit_breaker_stateПанель Grafana
Посетите http://localhost:3000 для просмотра панели Grafana.
Оповещения
Настройка уведомлений об оповещениях:
ALERTING_ENABLED=true
ALERT_EMAIL=admin@example.com
ALERT_WEBHOOK_URL=https://hooks.slack.com/xxx
ALERT_THRESHOLD_CRITICAL=5
ALERT_THRESHOLD_WARNING=10🔍 Лучшие практики безопасности
1. Переменные окружения
# 永遠不要提交 .env 文件
echo ".env*" >> .gitignore
# 使用強密碼
export ENCRYPTION_MASTER_KEY=$(openssl rand -hex 32)
# 限制文件權限
chmod 600 .env2. SSH-ключи
# 生成安全密鑰
ssh-keygen -t ed25519 -a 100
# 設置正確權限
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub3. Управление учётными данными
Используйте ротацию учётных данных (по умолчанию 90 дней)
Включите MFA для производственной среды
Регулярно проводите аудит доступа к учётным данным
Используйте отдельные учётные данные для каждой среды
4. Сетевая безопасность
По возможности используйте белые списки IP-адресов
Используйте шлюзовые серверы для чувствительных серверов
Включите ограничение скорости SSH
Отслеживайте подозрительную активность
📚 Справочник по API
Управление подключениями
// 安全連接到預定義服務器
secureConnect(params: {
serverName: string
requireMFA?: boolean
}): Promise<{
sessionId: string
sessionToken: string
expiresAt: number
mfaVerified: boolean
}>
// 列出配置的服務器
listPredefinedServers(): Promise<Record<string, ServerInfo>>Выполнение команд
// 執行遠程命令
secureExecute(params: {
sessionId: string
command: string
timeout?: number
}): Promise<{
success: boolean
stdout: string
stderr: string
exitCode: number
audited: true
}>Операции с файлами
// 智能文件編輯
smartFileEdit(params: {
sessionId: string
filePath: string
operations: EditOperation[]
strategy?: EditStrategy
}): Promise<EditResult>Отчёты о соответствии
// 生成合規報告
generateComplianceReport(params: {
framework: 'soc2' | 'gdpr' | 'nist'
startDate: string
endDate: string
}): Promise<ComplianceReport>🤝 Вклад в проект
Мы приветствуем вклад! Ознакомьтесь с нашим руководством по вкладу.
Настройка разработки
# Clone 和安裝
git clone https://github.com/your-org/ssh-mcp-secure.git
cd ssh-mcp-secure
npm install
# 運行測試
npm test
# 構建
npm run build
# 監聽模式
npm run watch
# 代碼檢查
npm run lint
# 安全審計
npm run security:audit📄 Лицензия
Лицензия MIT — см. файл LICENSE
📞 Контакты
Вопросы безопасности: security@example.com
Общая поддержка: support@example.com
Документация: https://github.com/your-org/ssh-mcp-secure/wiki
Помните: безопасность — это ответственность каждого. Если сомневаетесь — спрашивайте!
🔐 Контрольный список безопасности
Перед развёртыванием:
Настройте полный
.gitignoreУстановите план ротации учётных данных
Включите MFA для производственного доступа
Настройте мониторинг соответствия
Регулярно просматривайте журналы аудита
Установите ENCRYPTION_MASTER_KEY
Отключите аутентификацию по паролю
Настройте правила брандмауэра
Настройте мониторинг и оповещения
Задокументируйте аварийные процедуры
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.
An MCP server for Arcjet - the runtime security platform that ships with your AI code.
MCP server teaching AI agents to implement TideCloak: auth, E2EE, IGA, security analysis
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/brianShih/ssh-mcp-secure'
If you have feedback or need assistance with the MCP directory API, please join our Discord server