El protocolo Secure Shell ( SSH ) es un protocolo de red criptográfico para operar servicios de red de forma segura en una red no segura. [1] Las aplicaciones típicas incluyen la línea de comandos remota , el inicio de sesión y la ejecución remota de comandos, pero cualquier servicio de red puede protegerse con SSH.
Protocolo de comunicación | |
Propósito | conexión segura, CLI remota |
---|---|
Desarrollador (es) | Tatu Ylönen, Grupo de trabajo de ingeniería de Internet (IETF) |
Introducido | 1995 |
Capa OSI | Capa de aplicación |
Puerto (s) | 22 |
RFC (s) | RFC 4250, RFC 4251, RFC 4252, RFC 4253, RFC 4254 |
SSH proporciona un canal seguro a través de una red no segura mediante el uso de una arquitectura cliente-servidor , conectando una aplicación de cliente SSH con un servidor SSH . [2] La especificación del protocolo distingue entre dos versiones principales, denominadas SSH-1 y SSH-2. El puerto TCP estándar para SSH es 22. SSH se usa generalmente para acceder a sistemas operativos similares a Unix, pero también se puede usar en Microsoft Windows . Windows 10 usa OpenSSH como su cliente SSH y servidor SSH predeterminados . [3]
SSH fue diseñado como un reemplazo para Telnet y para protocolos de shell remotos no seguros como el Berkeley rsh y los protocolos relacionados rlogin y rexec . Esos protocolos envían información, en particular contraseñas , en texto plano , lo que los hace susceptibles de ser interceptados y divulgados mediante el análisis de paquetes . [4] El cifrado utilizado por SSH está destinado a proporcionar confidencialidad e integridad de los datos a través de una red no segura, como Internet .
Definición
SSH utiliza criptografía de clave pública para autenticar la computadora remota y permitirle autenticar al usuario, si es necesario. [2]
Hay varias formas de utilizar SSH; una es usar pares de claves pública-privada generados automáticamente para simplemente encriptar una conexión de red, y luego usar la autenticación de contraseña para iniciar sesión. Otra es utilizar un par de claves pública-privada generadas manualmente para realizar la autenticación, lo que permite a los usuarios o programas iniciar sesión sin tener que especificar una contraseña. En este escenario, cualquiera puede producir un par coincidente de claves diferentes (públicas y privadas). La clave pública se coloca en todas las computadoras que deben permitir el acceso al propietario de la clave privada correspondiente (el propietario mantiene la clave privada en secreto). Si bien la autenticación se basa en la clave privada, la clave en sí nunca se transfiere a través de la red durante la autenticación. SSH solo verifica si la misma persona que ofrece la clave pública también es propietaria de la clave privada correspondiente. En todas las versiones de SSH es importante verificar las claves públicas desconocidas , es decir, asociar las claves públicas con las identidades , antes de aceptarlas como válidas. Aceptar la clave pública de un atacante sin validación autorizará a un atacante no autorizado como usuario válido.
Autenticación: gestión de claves OpenSSH
En sistemas similares a Unix, la lista de claves públicas autorizadas generalmente se almacena en el directorio de inicio del usuario al que se le permite iniciar sesión de forma remota, en el archivo ~ / .ssh / allowed_keys. [5] Este archivo es respetado por SSH solo si no se puede escribir en él por nada que no sea el propietario y el root. Cuando la clave pública está presente en el extremo remoto y la clave privada coincidente está presente en el extremo local, ya no es necesario escribir la contraseña. Sin embargo, para mayor seguridad, la clave privada en sí puede bloquearse con una frase de contraseña.
La clave privada también se puede buscar en lugares estándar, y su ruta completa se puede especificar como una configuración de línea de comando (la opción -i para ssh). La utilidad ssh-keygen produce las claves pública y privada, siempre en pares.
SSH también admite la autenticación basada en contraseñas que se cifra mediante claves generadas automáticamente. En este caso, el atacante podría imitar el servidor legítimo, pedir la contraseña y obtenerla ( ataque man-in-the-middle ). Sin embargo, esto es posible solo si las dos partes nunca se han autenticado antes, ya que SSH recuerda la clave que utilizó anteriormente el lado del servidor. El cliente SSH genera una advertencia antes de aceptar la clave de un nuevo servidor previamente desconocido. La autenticación de contraseña se puede deshabilitar.
Uso
SSH se usa generalmente para iniciar sesión en una máquina remota y ejecutar comandos, pero también admite tunelización , reenvío de puertos TCP y conexiones X11 ; puede transferir archivos usando los protocolos asociados de transferencia de archivos SSH (SFTP) o copia segura (SCP). [2] SSH utiliza el modelo cliente-servidor .
Normalmente, se utiliza un programa cliente SSH para establecer conexiones con un demonio SSH que acepta conexiones remotas. Ambos están presentes comúnmente en la mayoría de los sistemas operativos modernos , incluidos macOS , la mayoría de las distribuciones de Linux , OpenBSD , FreeBSD , NetBSD , Solaris y OpenVMS . En particular, las versiones de Windows anteriores a la versión 1709 de Windows 10 no incluyen SSH de forma predeterminada. Existen versiones patentadas , gratuitas y de código abierto (por ejemplo , PuTTY , [6] y la versión de OpenSSH que es parte de Cygwin [7] ) de varios niveles de complejidad e integridad. Los administradores de archivos para sistemas similares a UNIX (por ejemplo, Konqueror ) pueden usar el protocolo FISH para proporcionar una GUI de panel dividido con arrastrar y soltar. El programa de código abierto de Windows WinSCP [8] proporciona una capacidad similar de administración de archivos (sincronización, copia, eliminación remota) utilizando PuTTY como back-end. Tanto WinSCP [9] como PuTTY [10] están disponibles empaquetados para ejecutarse directamente desde una unidad USB, sin necesidad de instalarlos en la máquina cliente. La configuración de un servidor SSH en Windows generalmente implica habilitar una función en la aplicación Configuración. En Windows 10 versión 1709 , está disponible un puerto Win32 oficial de OpenSSH.
SSH es importante en la computación en la nube para resolver problemas de conectividad, evitando los problemas de seguridad de exponer una máquina virtual basada en la nube directamente en Internet. Un túnel SSH puede proporcionar una ruta segura a través de Internet, a través de un firewall a una máquina virtual. [11]
La IANA ha asignado el puerto TCP 22, el puerto UDP 22 y el puerto SCTP 22 para este protocolo. [12] IANA había incluido el puerto TCP estándar 22 para servidores SSH como uno de los puertos más conocidos ya en 2001. [13] SSH también se puede ejecutar utilizando SCTP en lugar de TCP como protocolo de capa de transporte orientado a la conexión. [14]
Historia y desarrollo
Versión 1.x
En 1995, Tatu Ylönen , investigador de la Universidad Tecnológica de Helsinki , Finlandia, diseñó la primera versión del protocolo (ahora llamado SSH-1 ) provocado por un ataque de rastreo de contraseñas en la red de su universidad . [15] El objetivo de SSH era reemplazar los protocolos rlogin , TELNET , FTP [16] y rsh anteriores , que no proporcionaban una autenticación sólida ni garantizaban la confidencialidad. Ylönen lanzó su implementación como software gratuito en julio de 1995 y la herramienta ganó popularidad rápidamente. Hacia fines de 1995, la base de usuarios de SSH había aumentado a 20.000 usuarios en cincuenta países. [ cita requerida ]
En diciembre de 1995, Ylönen fundó SSH Communications Security para comercializar y desarrollar SSH. La versión original del software SSH usaba varias piezas de software libre , como GNU libgmp , pero las versiones posteriores lanzadas por SSH Communications Security evolucionaron hacia un software cada vez más propietario .
Se estimó que para el año 2000 el número de usuarios había aumentado a 2 millones. [17]
Versión 2.x
"Secsh" era el nombre oficial del Grupo de trabajo de ingeniería de Internet (IETF) para el grupo de trabajo IETF responsable de la versión 2 del protocolo SSH. [18] En 2006 , se adoptó como estándar una versión revisada del protocolo, SSH-2 . Esta versión es incompatible con SSH-1. SSH-2 presenta mejoras de seguridad y funciones sobre SSH-1. Una mejor seguridad, por ejemplo, se obtiene mediante el intercambio de claves Diffie-Hellman y una sólida verificación de integridad a través de códigos de autenticación de mensajes . Las nuevas características de SSH-2 incluyen la capacidad de ejecutar cualquier número de sesiones de shell a través de una sola conexión SSH. [19] Debido a la superioridad y popularidad de SSH-2 sobre SSH-1, algunas implementaciones como libssh (v0.8.0 +), [20] Lsh [21] y Dropbear [22] solo admiten el protocolo SSH-2.
Versión 1.99
En enero de 2006, mucho después de que se estableciera la versión 2.1, RFC 4253 especificó que un servidor SSH que admita tanto la versión 2.0 como la anterior de SSH debería identificar su protoversión como 1.99. [23] Esta no es una versión real, sino un método para identificar la compatibilidad con versiones anteriores .
OpenSSH y OSSH
En 1999, los desarrolladores, que querían que estuviera disponible una versión de software gratuita, volvieron a la versión anterior 1.2.12 del programa SSH original, que fue la última publicada con una licencia de código abierto . El OSSH de Björn Grönvall se desarrolló posteriormente a partir de este código base. Poco después, OpenBSD desarrolladores bifurcadas código de Grönvall e hicieron un amplio trabajo sobre él, creando OpenSSH , que se incluye con la versión 2.6 de OpenBSD. A partir de esta versión, se formó una rama de "portabilidad" para portar OpenSSH a otros sistemas operativos. [24]
Desde 2005[actualizar], OpenSSH fue la implementación SSH más popular, y viene de forma predeterminada en una gran cantidad de sistemas operativos. Mientras tanto, OSSH se ha vuelto obsoleto. [25] OpenSSH continúa manteniéndose y es compatible con el protocolo SSH-2, habiendo eliminado el soporte SSH-1 del código base con la versión 7.6 de OpenSSH.
Usos
SSH es un protocolo que se puede usar para muchas aplicaciones en muchas plataformas, incluidas la mayoría de las variantes de Unix ( Linux , BSD, incluidos macOS de Apple y Solaris ), así como Microsoft Windows . Algunas de las aplicaciones siguientes pueden requerir funciones que solo están disponibles o son compatibles con servidores o clientes SSH específicos. Por ejemplo, es posible usar el protocolo SSH para implementar una VPN , pero actualmente solo con el servidor OpenSSH y la implementación del cliente.
- Para iniciar sesión en un shell en un host remoto (reemplazando Telnet y rlogin )
- Para ejecutar un solo comando en un host remoto (reemplazando rsh )
- Para configurar el inicio de sesión automático (sin contraseña) en un servidor remoto (por ejemplo, usando OpenSSH [26] )
- En combinación con rsync para realizar copias de seguridad, copiar y reflejar archivos de forma eficiente y segura
- Para reenviar un puerto
- Para tunelización (que no debe confundirse con una VPN , que las rutas de paquetes entre redes diferentes, o puentes de dos dominios de difusión en una sola).
- Para usar como una VPN encriptada en toda regla. Tenga en cuenta que solo el servidor y el cliente OpenSSH admiten esta función.
- Para reenviar X desde un host remoto (posible a través de múltiples hosts intermedios)
- Para navegar por la web a través de una conexión proxy cifrada con clientes SSH que admiten el protocolo SOCKS .
- Para montar de forma segura un directorio en un servidor remoto como un sistema de archivos en una computadora local usando SSHFS .
- Para la supervisión y gestión remotas automatizadas de servidores a través de uno o más de los mecanismos discutidos anteriormente.
- Para el desarrollo en un dispositivo móvil o integrado que admita SSH.
- Para proteger los protocolos de transferencia de archivos.
Protocolos de transferencia de archivos
Los protocolos Secure Shell se utilizan en varios mecanismos de transferencia de archivos.
- Copia segura (SCP), que evolucionó del protocolo RCP sobre SSH
- rsync , destinado a ser más eficiente que SCP. Generalmente se ejecuta a través de una conexión SSH.
- Protocolo de transferencia de archivos SSH (SFTP), una alternativa segura a FTP (no debe confundirse con FTP sobre SSH o FTPS )
- Archivos transferidos a través del protocolo de shell (también conocido como FISH), lanzado en 1998, que evolucionó a partir de los comandos de shell de Unix sobre SSH
- El protocolo rápido y seguro (FASP), también conocido como Aspera , utiliza SSH para el control y puertos UDP para la transferencia de datos.
Arquitectura
El protocolo SSH-2 tiene una arquitectura interna (definida en RFC 4251) con capas bien separadas, a saber:
- La capa de transporte (RFC 4253), que normalmente se ejecuta sobre TCP / IP. Esta capa maneja el intercambio de claves inicial, así como la autenticación del servidor, y configura el cifrado, la compresión y la verificación de la integridad. Expone a la capa superior una interfaz para enviar y recibir paquetes de texto plano con tamaños de hasta 32,768 bytes cada uno (la implementación puede permitir más). La capa de transporte también organiza el intercambio de claves, generalmente después de que se haya transferido 1 GB de datos o después de que haya pasado 1 hora, lo que ocurra primero.
- La capa de autenticación de usuario (RFC 4252). Esta capa maneja la autenticación del cliente y proporciona varios métodos de autenticación. La autenticación es impulsada por el cliente : cuando se le solicita una contraseña, puede ser el cliente SSH, no el servidor. El servidor simplemente responde a las solicitudes de autenticación del cliente. Los métodos de autenticación de usuarios más utilizados incluyen los siguientes:
- contraseña : un método para la autenticación de contraseña sencilla, que incluye una función que permite cambiar una contraseña. No todos los programas implementan este método.
- publickey : un método para la autenticación basada en publickey , por lo general soportar al menos DSA , ECDSA o RSA pares de claves, con otras implementaciones que también apoya X.509 certificados.
- teclado interactivo (RFC 4256): un método versátil en el que el servidor envía una o más solicitudes para ingresar información y el cliente las muestra y envía respuestas ingresadas por el usuario. Se utiliza para proporcionar autenticación de contraseña de una sola vez , como S / Key o SecurID . Usado por algunas configuraciones de OpenSSH cuando PAM es el proveedor de autenticación de host subyacente para proporcionar autenticación de contraseña de manera efectiva, lo que a veces conduce a la imposibilidad de iniciar sesión con un cliente que solo admite el método de autenticación de contraseña simple .
- Métodos de autenticación GSSAPI que proporcionan un esquema extensible para realizar la autenticación SSH utilizando mecanismos externos como Kerberos 5 o NTLM , proporcionando capacidad de inicio de sesión único para sesiones SSH. Estos métodos generalmente se implementan mediante implementaciones SSH comerciales para su uso en organizaciones, aunque OpenSSH tiene una implementación GSSAPI en funcionamiento.
- La capa de conexión (RFC 4254). Esta capa define el concepto de canales, solicitudes de canal y solicitudes globales mediante los cuales se proporcionan los servicios SSH. Una sola conexión SSH puede albergar varios canales simultáneamente, cada uno de los cuales transfiere datos en ambas direcciones. Las solicitudes de canal se utilizan para retransmitir datos específicos del canal fuera de banda, como el tamaño modificado de una ventana de terminal o el código de salida de un proceso del lado del servidor. Además, cada canal realiza su propio control de flujo utilizando el tamaño de la ventana de recepción. El cliente SSH solicita que se reenvíe un puerto del lado del servidor mediante una solicitud global. Los tipos de canales estándar incluyen:
- shell para shells de terminal, SFTP y solicitudes ejecutivas (incluidas las transferencias SCP)
- direct-tcpip para conexiones reenviadas de cliente a servidor
- reenviado-tcpip para conexiones reenviadas de servidor a cliente
- El registro SSHFP DNS (RFC 4255) proporciona las huellas digitales de la clave pública del host para ayudar a verificar la autenticidad del host.
Esta arquitectura abierta proporciona una flexibilidad considerable, lo que permite el uso de SSH para una variedad de propósitos más allá de un shell seguro. La funcionalidad de la capa de transporte por sí sola es comparable a la Seguridad de la capa de transporte (TLS); la capa de autenticación de usuario es altamente extensible con métodos de autenticación personalizados; y la capa de conexión brinda la capacidad de multiplexar muchas sesiones secundarias en una sola conexión SSH, una característica comparable a BEEP y no disponible en TLS.
A pesar de la idea errónea popular, SSH no es una implementación de Telnet con criptografía proporcionada por Secure Sockets Layer (SSL) .
Algoritmos
- EdDSA , [27] ECDSA , RSA y DSA para criptografía de clave pública . [28]
- ECDH y Diffie – Hellman para el intercambio de claves . [28]
- HMAC , AEAD y UMAC para MAC . [29]
- AES (y RC4 , 3DES , DES [30] en desuso ) para cifrado simétrico .
- AES-GCM [31] y ChaCha20 - Poly1305 para cifrado AEAD .
- SHA (y MD5 en desuso ) para huella digital de clave .
Vulnerabilidades
SSH-1
En 1998, se describió una vulnerabilidad en SSH 1.5 que permitía la inserción no autorizada de contenido en un flujo SSH cifrado debido a una protección de integridad de datos insuficiente de CRC-32 utilizada en esta versión del protocolo. [32] [33] Una solución conocida como Detector de ataques de compensación SSH [34] se introdujo en la mayoría de las implementaciones. Muchas de estas implementaciones actualizadas contenían una nueva vulnerabilidad de desbordamiento de enteros [35] que permitía a los atacantes ejecutar código arbitrario con los privilegios del demonio SSH, generalmente root.
En enero de 2001 se descubrió una vulnerabilidad que permite a los atacantes modificar el último bloque de una sesión cifrada con IDEA . [36] El mismo mes, se descubrió otra vulnerabilidad que permitía a un servidor malicioso reenviar la autenticación de un cliente a otro servidor. [37]
Dado que SSH-1 tiene fallas de diseño inherentes que lo hacen vulnerable, ahora generalmente se considera obsoleto y debe evitarse deshabilitando explícitamente el respaldo a SSH-1. [37] La mayoría de los servidores y clientes modernos admiten SSH-2. [38]
Recuperación de texto sin formato CBC
En noviembre de 2008, se descubrió una vulnerabilidad teórica para todas las versiones de SSH que permitió la recuperación de hasta 32 bits de texto sin formato de un bloque de texto cifrado que se cifró utilizando lo que entonces era el modo de cifrado estándar predeterminado, CBC . [39] La solución más sencilla es usar CTR , modo contador, en lugar del modo CBC, ya que esto hace que SSH sea resistente al ataque. [39]
Posibles vulnerabilidades
El 28 de diciembre de 2014, Der Spiegel publicó información clasificada [40] filtrada por el denunciante Edward Snowden que sugiere que la Agencia de Seguridad Nacional podría descifrar parte del tráfico SSH. No se revelaron los detalles técnicos asociados con dicho proceso.
Un análisis en 2017 de las herramientas de piratería BothanSpy & Gyrfalcon sugirió que el protocolo SSH en sí no estaba comprometido. [41]
Documentación de estándares
Las siguientes RFC publicaciones de la IETF "secsh" grupo de trabajo de documentos SSH-2 como una propuesta de estándar de Internet .
- RFC 4250 - Números asignados del protocolo Secure Shell (SSH)
- RFC 4251 - Arquitectura del protocolo Secure Shell (SSH)
- RFC 4252 - Protocolo de autenticación Secure Shell (SSH)
- RFC 4253 - Protocolo de capa de transporte Secure Shell (SSH)
- RFC 4254 - Protocolo de conexión Secure Shell (SSH)
- RFC 4255: uso de DNS para publicar de forma segura huellas dactilares de clave de Secure Shell (SSH)
- RFC 4256 - Autenticación genérica de intercambio de mensajes para el protocolo Secure Shell (SSH)
- RFC 4335 - Extensión de interrupción de canal de sesión de Secure Shell (SSH)
- RFC 4344: los modos de cifrado de la capa de transporte de Secure Shell (SSH)
- RFC 4345 - Modos Arcfour mejorados para el protocolo de capa de transporte Secure Shell (SSH)
Posteriormente fue modificado y ampliado por las siguientes publicaciones.
- RFC 4419 - Intercambio de grupo Diffie-Hellman para el protocolo de capa de transporte Secure Shell (SSH) (marzo de 2006)
- RFC 4432 - Intercambio de claves RSA para el protocolo de capa de transporte Secure Shell (SSH) (marzo de 2006)
- RFC 4462 - Autenticación e intercambio de claves de la interfaz del programa de aplicación del servicio de seguridad genérico (GSS-API) para el protocolo Secure Shell (SSH) (mayo de 2006)
- RFC 4716 - El formato de archivo de clave pública Secure Shell (SSH) (noviembre de 2006)
- RFC 4819 - Subsistema de clave pública de Secure Shell (marzo de 2007)
- RFC 5647 - Modo contador AES Galois para el protocolo de capa de transporte Secure Shell (agosto de 2009)
- RFC 5656 - Integración del algoritmo de curva elíptica en la capa de transporte Secure Shell (diciembre de 2009)
- RFC 6187 - Certificados X.509v3 para autenticación Secure Shell (marzo de 2011)
- RFC 6239 - Suites criptográficas Suite B para Secure Shell (SSH) (mayo de 2011)
- RFC 6594 - Uso del algoritmo SHA-256 con RSA, algoritmo de firma digital (DSA) y DSA de curva elíptica (ECDSA) en registros de recursos SSHFP (abril de 2012)
- RFC 6668 - Verificación de integridad de datos SHA-2 para el protocolo de capa de transporte Secure Shell (SSH) (julio de 2012)
- RFC 7479 - Registros de recursos SSHFP Ed25519 (marzo de 2015)
- RFC 5592 - Modelo de transporte de Shell seguro para el Protocolo simple de administración de redes (SNMP) (junio de 2009)
- RFC 6242: uso del protocolo NETCONF sobre Secure Shell (SSH) (junio de 2011)
- draft-gerhards-syslog-transport-ssh-00 - Mapeo de transporte SSH para SYSLOG (julio de 2006)
- draft-ietf-secsh-filexfer-13 - Protocolo de transferencia de archivos SSH (julio de 2006)
Además, el proyecto OpenSSH incluye varias especificaciones / extensiones de protocolo de proveedores:
- Descripción general del PROTOCOLO OpenSSH
- Descripción general del certificado / clave OpenSSH
- draft-miller-ssh-agent-04 - Protocolo de agente SSH (diciembre de 2019)
Ver también
- Ataque de fuerza bruta
- Comparación de clientes SSH
- Comparación de servidores SSH
- Sacacorchos
- Ident
- OpenSSH
- Túneles Secure Shell
- SSH basado en web
Referencias
- ^ T. Ylonen; C. Lonvick (enero de 2006). La arquitectura del protocolo Secure Shell (SSH) . Grupo de trabajo en red del IETF. doi : 10.17487 / RFC4251 . RFC 4251 .
- ^ a b c Grupo de trabajo de red del IETF, enero de 2006, RFC 4252, Protocolo de autenticación Secure Shell (SSH)
- ^ "OpenSSH en Windows" . Microsoft Docs . 7 de enero de 2019.
- ^ "SSH endurece el Secure Shell" . Serverwatch.com . Archivado desde el original el 23 de diciembre de 2008.
- ^ "Cómo configurar claves autorizadas" . Archivado desde el original el 10 de mayo de 2011.
- ^ "Descarga PuTTY - un cliente SSH y telnet gratuito para Windows" . Putty.org. Archivado desde el original el 27 de mayo de 2014 . Consultado el 28 de abril de 2014 .
- ^ "Lista de paquetes Cygwin" . Consultado el 5 de enero de 2016 .
- ^ "Página de inicio de WinSCP" . Archivado desde el original el 17 de febrero de 2014.
- ^ "Página de WinSCP para PortableApps.com" . Archivado desde el original el 16 de febrero de 2014.
- ^ "Página PuTTY para PortableApps.com" . Archivado desde el original el 16 de febrero de 2014.
- ^ Amies, A; Wu, CF; Wang, GC; Criveti, M (2012). "Redes en la nube" . IBM developerWorks . Archivado desde el original el 14 de junio de 2013.
- ^ "Registro de número de puerto de nombre de servicio y protocolo de transporte" .
- ^ "Registro de número de puerto de nombre de servicio y protocolo de transporte" . iana.org . Archivado desde el original el 4 de junio de 2001.
- ^ Seggelmann, R .; Tuxen, M .; Rathgeb, EP (18-20 de julio de 2012). "SSH sobre SCTP - Optimización de un protocolo multicanal adaptándolo a SCTP". Sistemas de comunicación, redes y procesamiento de señales digitales (CSNDSP), 2012 8º Simposio internacional sobre : 1–6. doi : 10.1109 / CSNDSP.2012.6292659 . ISBN 978-1-4577-1473-3. S2CID 8415240 .
- ^ Tatu Ylönen . "La nueva llave maestra: cambiar las cerraduras en su entorno de red" . Archivado desde el original el 20 de agosto de 2017.
- ^ Tatu Ylönen . "Puerto SSH" . Archivado desde el original el 3 de agosto de 2017.
- ^ Nicholas Rosasco y David Larochelle. "Cómo y por qué tienen éxito las tecnologías más seguras en los mercados heredados: lecciones del éxito de SSH" (PDF) . Citando a Barrett y Silverman, SSH, Secure Shell: The Definitive Guide, O'Reilly & Associates (2001) . Departamento de Ciencias de la Computación, Univ. de Virginia. Archivado (PDF) desde el original el 25 de junio de 2006 . Consultado el 19 de mayo de 2006 .
- ^ "Documentos del protocolo Secsh" . VanDyke Software, Inc . Archivado desde el original el 13 de enero de 2010.
- ^ "Preguntas frecuentes sobre SSH" . Archivado desde el original el 10 de octubre de 2004.
- ^ "libssh" .
- ^ "Una implementación GNU de los protocolos Secure Shell" . Archivado desde el original el 4 de febrero de 2012.
- ^ "Dropbear SSH" . Archivado desde el original el 14 de octubre de 2011.
- ^ "RFC 4253" . Sección 5. Compatibilidad con versiones SSH antiguas. Archivado desde el original el 4 de julio de 2010., IETF
- ^ "OpenSSH: historial de proyectos y créditos" . openssh.com. 2004-12-22. Archivado desde el original el 24 de diciembre de 2013 . Consultado el 27 de abril de 2014 .
- ^ "Información OSSH para VU # 419241" . Centro de Coordinación CERT . 2006-02-15. Archivado desde el original el 27 de septiembre de 2007.
De cualquier manera, ossh es antiguo y obsoleto y no recomiendo su uso.
- ^ Sobell, Mark (2012). Una guía práctica para los comandos, editores y programación de shell de Linux (3ª ed.). Upper Saddle River, Nueva Jersey: Prentice Hall. págs. 702–704. ISBN 978-0133085044.
- ^ RFC 8709
- ^ a b Stebila, D .; Green J. (diciembre de 2009). "RFC5656 - Integración del algoritmo de curva elíptica en la capa de transporte Secure Shell" . Archivado desde el original el 19 de julio de 2012 . Consultado el 12 de noviembre de 2012 . Cite journal requiere
|journal=
( ayuda ) - ^ Miller, D .; Valchev, P. (3 de septiembre de 2007). "El uso de UMAC en el protocolo de capa de transporte SSH / draft-miller-secsh-umac-00.txt" . Archivado desde el original el 19 de agosto de 2014 . Consultado el 12 de noviembre de 2012 . Cite journal requiere
|journal=
( ayuda ) - ^ RFC 4253
- ^ RFC 5647
- ^ "Ataque de inserción SSH" . Tecnologías de seguridad básicas . Archivado desde el original el 8 de julio de 2011.
- ^ "Nota de vulnerabilidad VU # 13877 - CRC débil permite la inyección de paquetes en sesiones SSH cifradas con cifrados en bloque" . US CERT . Archivado desde el original el 10 de julio de 2010.
- ^ "Vulnerabilidad del detector de ataques de compensación SSH CRC-32" . SecurityFocus . Archivado desde el original el 25 de julio de 2008.
- ^ "Nota de vulnerabilidad VU # 945216 - El código de detección de ataques SSH CRC32 contiene desbordamiento de enteros remotos" . US CERT . Archivado desde el original el 13 de octubre de 2005.
- ^ "Nota de vulnerabilidad VU # 315308 - CRC débil permite cambiar el último bloque de paquete SSH cifrado por IDEA sin previo aviso" . US CERT . Archivado desde el original el 11 de julio de 2010.
- ^ a b "Nota de vulnerabilidad VU # 684820 - SSH-1 permite que un servidor malintencionado reenvíe la autenticación del cliente a otro servidor" . US CERT . Archivado desde el original el 1 de septiembre de 2009.
- ^ "Cómo utilizar las claves SSH para la autenticación" . Up Cloud . Consultado el 29 de noviembre de 2019 .
- ^ a b "Nota de vulnerabilidad VU # 958563 - Vulnerabilidad SSH CBC" . US CERT . Archivado desde el original el 22 de junio de 2011.
- ^ "Ojos curiosos: dentro de la guerra de la NSA contra la seguridad de Internet" . Spiegel en línea . 28 de diciembre de 2014. Archivado desde el original el 24 de enero de 2015.
- ^ Tatu Ylonen. " BothanSpy & Gyrfalcon - Analysis of CIA hacking tools for SSH ", ssh.com, 3 de agosto de 2017. Consultado el 15 de julio de 2018.
- Este artículo se basa en material extraído del Diccionario de Computación en línea gratuito antes del 1 de noviembre de 2008 e incorporado bajo los términos de "renovación de licencias" de la GFDL , versión 1.3 o posterior.
Otras lecturas
- Barrett, Daniel J .; Silverman, Richard E .; Byrnes, Robert G. (2005). SSH: The Secure Shell (La guía definitiva) (2ª ed.). O'Reilly. ISBN 0-596-00895-3.
- Stahnke, Michael (2005). Pro OpenSSH . Presione. ISBN 1-59059-476-2.
- Tatu Ylönen (12 de julio de 1995). "Anuncio: Programa de inicio de sesión remoto Ssh (Secure Shell)" . comp.security.unix. Anuncio original de Ssh
- Dwivedi, Himanshu (2003). Implementando SSH . Wiley. ISBN 978-0-471-45880-7.
enlaces externos
- Protocolos SSH
- M. Joseph; J. Susoy (noviembre de 2013). Subsistema de clave pública Secure Shell de P6R . doi : 10.17487 / RFC7076 . RFC 7076 .