SSH-MCP Secure
🔐 SSH-MCP Secure
Servidor SSH MCP de alta seguridad - Gestión SSH de nivel empresarial con inteligencia artificial y seguridad de grado militar
🌟 Características principales
🔒 Seguridad de nivel empresarial
Cifrado AES-256-GCM - Cifrado de grado militar que protege todas las credenciales
Autenticación multifactor (MFA) - Compatibilidad con TOTP y códigos de respaldo
Autenticación con claves SSH - Compatible con ED25519 y RSA-4096
Control de acceso basado en roles (RBAC) - Gestión granular de permisos
Protección mediante disyuntor - 8 circuitos de protección resilientes resguardan los servicios críticos
Registros de auditoría completos - Informes de cumplimiento exhaustivos
🤖 Inteligencia artificial
Asistencia contextual - Sugerencias de comandos en tiempo real basadas en el contexto actual
Detección del stack tecnológico - Identificación y recomendación automática del stack del proyecto
Reconocimiento de patrones - Aprendizaje del historial de comandos impulsado por ML
Inteligencia de GitHub - Minería de patrones de la comunidad y descubrimiento de mejores prácticas
Operaciones predictivas - Predicción de problemas mediante análisis de tendencias
📊 Monitoreo y cumplimiento
Métricas de Prometheus - Monitoreo de rendimiento en tiempo real
Panel de Grafana - Visualización de la salud del sistema
Marcos de cumplimiento - SOC2, GDPR, NIST, HIPAA, PCI-DSS, ISO 27001
Análisis de errores - Diagnóstico inteligente de errores
Gestión de alertas - Alertas proactivas y reparación automática
📋 Índice
[Referencia de la API](#api 參考)
🛠️ Instalación
Requisitos previos
Node.js 18+ y npm/yarn
CLI de Claude Code (opcional, para la integración con MCP)
Acceso SSH a los servidores de destino
Git
Pasos de instalación
# 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🚀 Inicio rápido
1. Configurar las credenciales del servidor
Cree el archivo .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. Generar claves 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. Configurar MFA
En la primera conexión, el sistema generará automáticamente la configuración de MFA:
# 啟動服務器
npm start
# 掃描 QR 碼配置 TOTP
# 使用 Google Authenticator 或 Authy4. Conectar y ejecutar
// 安全連接
const session = await secureConnect({
serverName: "my-server",
requireMFA: true
});
// 執行命令
const result = await secureExecute({
sessionId: session.sessionId,
command: "ls -la"
});
console.log(result.stdout);⚙️ Configuración
Variables de entorno
Configuración del servidor
# 命名規範: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 # 可選Ajustes de seguridad
# 認證安全
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=trueAjustes de 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=10Ajustes de cifrado
ENCRYPTION_ALGORITHM=AES-256-GCM
ENCRYPTION_KEY_LENGTH=256
ENCRYPTION_KEY_ROTATION_DAYS=90
ENCRYPTION_MASTER_KEY=<your-64-char-hex-key>Registros de auditoría
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🔒 Características de seguridad
1. Cifrado
Cifrado AES-256-GCM de todas las credenciales
TLS 1.3 para comunicaciones externas
Protocolo SSH 2 para todas las conexiones SSH
Rotación de claves automática cada 90 días
2. Autenticación
Autenticación multifactor (MFA) - TOTP y códigos de respaldo
Autenticación con claves SSH - ED25519/RSA-4096
Autenticación por contraseña - Opcional (se recomienda desactivarla en producción)
Tiempo de espera de sesión - Caducidad automática a la 1 hora
3. Control de acceso
Control de acceso basado en roles (RBAC)
admin- Acceso completooperator- Permisos de operacióndeveloper- Permisos de desarrolloviewer- Permisos de solo lectura
Principio de mínimo privilegio - Denegación de todo acceso por defecto
Auditoría de todas las comprobaciones de permisos - Seguimiento de auditoría completo
4. Auditoría y cumplimiento
Registros de auditoría completos
Todos los eventos de autenticación
Todas las ejecuciones de comandos
Todas las operaciones de archivos
Todos los eventos de sesión
Todos los cambios de permisos
Todos los accesos a credenciales
Compatibilidad con marcos de cumplimiento
SOC2 Type II
GDPR
Marco de ciberseguridad NIST
HIPAA (configurable)
PCI-DSS (configurable)
ISO 27001 (configurable)
5. Protección resiliente
Disyuntor - Protege los servicios críticos
Conexiones SSH
Caché de Redis
Servicio de autenticación
Verificación MFA
Servicio de cifrado
Reintentos automáticos - Retroceso exponencial
Comprobaciones de salud - Monitoreo de salud del grupo de conexiones
📊 Monitoreo
Métricas de 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_statePanel de Grafana
Visite http://localhost:3000 para ver el panel de Grafana.
Alertas
Configure las notificaciones de alerta:
ALERTING_ENABLED=true
ALERT_EMAIL=admin@example.com
ALERT_WEBHOOK_URL=https://hooks.slack.com/xxx
ALERT_THRESHOLD_CRITICAL=5
ALERT_THRESHOLD_WARNING=10🔍 Mejores prácticas de seguridad
1. Variables de entorno
# 永遠不要提交 .env 文件
echo ".env*" >> .gitignore
# 使用強密碼
export ENCRYPTION_MASTER_KEY=$(openssl rand -hex 32)
# 限制文件權限
chmod 600 .env2. Claves SSH
# 生成安全密鑰
ssh-keygen -t ed25519 -a 100
# 設置正確權限
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub3. Gestión de credenciales
Utilice rotación de credenciales (90 días por defecto)
Habilite MFA para producción
Audite periódicamente el acceso a credenciales
Utilice credenciales independientes para cada entorno
4. Seguridad de red
Utilice listas blancas de direcciones IP siempre que sea posible
Utilice un servidor de salto (bastión) para servidores sensibles
Habilite la limitación de velocidad SSH
Supervise actividades sospechosas
📚 Referencia de la API
Gestión de conexiones
// 安全連接到預定義服務器
secureConnect(params: {
serverName: string
requireMFA?: boolean
}): Promise<{
sessionId: string
sessionToken: string
expiresAt: number
mfaVerified: boolean
}>
// 列出配置的服務器
listPredefinedServers(): Promise<Record<string, ServerInfo>>Ejecución de comandos
// 執行遠程命令
secureExecute(params: {
sessionId: string
command: string
timeout?: number
}): Promise<{
success: boolean
stdout: string
stderr: string
exitCode: number
audited: true
}>Operaciones de archivos
// 智能文件編輯
smartFileEdit(params: {
sessionId: string
filePath: string
operations: EditOperation[]
strategy?: EditStrategy
}): Promise<EditResult>Informes de cumplimiento
// 生成合規報告
generateComplianceReport(params: {
framework: 'soc2' | 'gdpr' | 'nist'
startDate: string
endDate: string
}): Promise<ComplianceReport>🤝 Contribución
¡Agradecemos las contribuciones! Consulte nuestra guía de contribución.
Configuración de desarrollo
# 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📄 Licencia
Licencia MIT - Consulte el archivo LICENSE
📞 Contacto
Problemas de seguridad: security@example.com
Soporte general: support@example.com
Documentación: https://github.com/your-org/ssh-mcp-secure/wiki
Recuerde: la seguridad es responsabilidad de todos. ¡Si tiene dudas, pregunte!
🔐 Lista de verificación de seguridad
Antes del despliegue:
Configure un
.gitignorecompletoEstablezca un plan de rotación de credenciales
Habilite MFA para el acceso a producción
Configure el monitoreo de cumplimiento
Revise periódicamente los registros de auditoría
Configure ENCRYPTION_MASTER_KEY
Desactive la autenticación por contraseña
Configure las reglas del firewall
Configure el monitoreo y las alertas
Documente los procedimientos de emergencia
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