SSH

Secure Shell (SSH) is a cryptographic network protocol used for operating network services securely over an unsecured network, commonly employed for remote comm...

SSH (Secure Shell) es un protocolo de red criptográfico utilizado para operar servicios de red de forma segura sobre una red no segura. Sus aplicaciones principales incluyen el inicio de sesión y la ejecución remota de comandos, pero también soporta tunneling (port forwarding), transferencias de archivos (vía SFTP y SCP), y otros servicios de red seguros. SSH opera bajo un modelo cliente-servidor. El cliente SSH inicia una conexión a un servidor SSH, típicamente ejecutándose en el puerto estándar 22. Durante la configuración de la conexión, el cliente y el servidor negocian algoritmos criptográficos (para intercambio de claves, cifrado, autenticación de mensajes y autenticación de host) y establecen un canal seguro y cifrado. La autenticación de host se logra típicamente usando criptografía de clave pública, donde el servidor presenta su clave de host pública, que el cliente verifica contra una lista conocida o una Certificate Authority confiable. La autenticación de usuario puede realizarse usando contraseñas, criptografía de clave pública (SSH keys), u otros métodos como la autenticación keyboard-interactive. Una vez autenticado, todo el tráfico subsiguiente entre el cliente y el servidor está cifrado, protegiendo la confidencialidad e integridad de los datos.

        graph LR
  Center["SSH"]:::main
  Pre_encryption["encryption"]:::pre --> Center
  click Pre_encryption "/terms/encryption"
  Rel_tls_ssl["tls-ssl"]:::related -.-> Center
  click Rel_tls_ssl "/terms/tls-ssl"
  Rel_firewall["firewall"]:::related -.-> Center
  click Rel_firewall "/terms/firewall"
  Rel_grpc["grpc"]:::related -.-> Center
  click Rel_grpc "/terms/grpc"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Explícalo como si tuviera 5 años

SSH es como un túnel secreto y súper seguro que construyes entre tu computadora y otra computadora, para que puedas enviar mensajes y comandos de un lado a otro sin que nadie más pueda escucharlos o modificarlos.

🤓 Expert Deep Dive

SSH employs a robust suite of cryptographic primitives. Key exchange typically uses Diffie-Hellman variants (e.g., ECDHE) to establish a shared secret. Symmetric [encryption](/es/terms/symmetric-encryption) (e.g., AES-GCM) is then used for bulk data transfer, providing both confidentiality and integrity. Message Authentication Codes (MACs) or authenticated encryption modes ensure data integrity against tampering. Host key verification is crucial to prevent Man-in-the-Middle (MitM) attacks; trust-on-first-use (TOFU) is common but relies on out-of-band verification for true security. Public-key authentication for users offers significant advantages over passwords, eliminating password guessing and enabling automation. Protocol versions (SSH-1 vs. SSH-2) are critical; SSH-1 is considered insecure and deprecated. Vulnerabilities often arise from implementation flaws, weak algorithm choices, or insecure configuration (e.g., disabling strict host key checking).

🔗 Términos relacionados

Requisitos previos:

📚 Fuentes