Ssh, Una Herramienta Para La Administracion Remota
SSH (o Secure SHell) es un protocolo que facilita las comunicaciones seguras entre dos sistemas usando una arquitectura cliente/servidor y que permite a los usuarios conectarse a un host remotamente. A diferencia de otros protocolos de comunicación remota tales como FTP o Telnet, SSH encripta la sesión de conexión, haciendo difícil que alguien pueda obtenercontraseñas no encriptadas.
SSH está diseñado para reemplazar los métodos más viejos y menos seguros para registrarse remotamente en otro sistema a través de la shell de comando, tales como telnet o rsh. Un programa relacionado, el scp, reemplaza otros programas diseñados para copiar archivos entre hosts como rcp. Ya que estas aplicaciones antiguas no encriptan contraseñas entre el cliente y elservidor. El uso de métodos seguros para registrarse remotamente a otros sistemas reduce los riesgos de seguridad tanto para el sistema cliente como para el sistema remoto.
2.0 Capa de transporte
El papel principal de la capa de transporte es facilitar una comunicación segura entre los dos hosts durante la autenticación y la comunicación. La capa de transporte lleva esto a cabo manejando laencriptación y decodificación de datos y proporcionando protección de integridad de los paquetes de datos mientras son enviados y recibidos. Además, la capa de transporte proporciona compresión de datos, lo que acelera la transmisión de información.
Al contactar un cliente a un servidor por medio del protocolo SSH, se negocian varios puntos importantes para que ambos sistemas puedan construir la capade transporte correctamente. Durante el intercambio se producen los siguientes pasos:
• Intercambio de claves
• Determinación del algoritmo de encriptación de la clave pública
• Determinación del algoritmo de la encriptación simétrica
• Determinación del algoritmo autenticación de mensajes
• Determinación del algoritmo de hash que hay que usar
El servidor se identifica ante el cliente conuna llave de host única durante el intercambio de llaves. Obviamente si este cliente nunca se había comunicado antes con este determinado servidor, la llave del servidor le resultará desconocida al cliente y no lo conectará. OpenSSH evita este problema permitiendo que el cliente acepte la llave del host del servidor después que el usuario es notificado y verifica la aceptación de la nueva llavedel host. Para las conexiones posteriores, la llave del host del servidor se puede verificar con la versión guardada en el cliente, proporcionando la confianza de que el cliente se está realmente comunicando con el servidor deseado. Si en el futuro, la llave del host ya no coincide, el usuario debe eliminar la versión guardada antes de que una conexión pueda ocurrir.
Después que una ciertacantidad de datos haya sido transmitida con un determinado algoritmo y clave (la cantidad exacta depende de la implementación de SSH), ocurre otro intercambio de claves, el cual genera otro conjunto de valores de hash y un nuevo valor secreto compartido. De esta manera aunque un agresor lograse determinar los valores de hash y de secreto compartido, esta información sólo será válida por un período detiempo limitado.
3.0 Archivos de configuración de OpenSSH
OpenSSH tiene dos conjuntos diferentes de archivos de configuración: uno para los programas cliente (ssh, scp, y sftp) y otro para el demonio del servidor (sshd).
La información de configuración SSH para todo el sistema está almacenada en el directorio /etc/ssh/:
• moduli — Contiene grupos Diffie-Hellman usados para el intercambio de laclave Diffie-Hellman que es imprescindible para la construcción de una capa de transporte segura. Cuando se intercambian las claves al inicio de una sesión SSH, se crea un valor secreto y compartido que no puede ser determinado por ninguna de las partes individualmente. Este valor se usa para proporcionar la autentificación del host.
• ssh_config — El archivo de configuración del sistema...
Regístrate para leer el documento completo.