En Internet existen diversos protocolos de internet para
acceder a sus distintos servicios y características. Sin duda,
el protocolo HTTP es el más conocido, porque es el que nos
permite realizar conexiones para recibir páginas web
profesionales, pero hay muchos otros protocolos que
también son esenciales para el funcionamiento de la Red.
En este artículo, te explicaremos qué es el protocolo SSH
que usamos para conectarnos de manera segura para
la administración de servidores.
Índice
¿Qué es un protocolo de red?
¿Qué es el protocolo SSH?
¿Cómo funciona SSH?
¿Para qué se utiliza SSH?
Técnicas de cifrado SSH
¿Cómo conectarse por SSH con servidores remotos?
Conclusiones sobre el protocolo SSH
¿Qué es un protocolo de red?
Los protocolos de red, como su propio nombre indica,
establecen de manera detallada el proceso que deben
seguir los sistemas informáticos para realizar
conexiones y transferencias de información. Gracias a
estos protocolos los sistemas involucrados en una
comunicación son capaces de entenderse y proporcionar
una interfaz homogénea para el acceso a un tipo de
servicio.
Los protocolos de Internet son diversos. HTTP es el que
usan los navegadores para conectarse con servidores
web y recibir información de las páginas. Además,
como HTTP es un protocolo tan extendido, muchos otros
sistemas se apoyan en él para realizar comunicaciones,
como los servicios web o diversos programas de mensajería.
Pero existen otros protocolos importantes como IMAP, POP y
SMTP que permiten trabajar con el correo electrónico, o FTP
para la transferencia de archivos.
¿Qué es el protocolo SSH?
SSH son las siglas de Secure Shell y es un protocolo de
red destinado principalmente a la conexión con
máquinas a las que accedemos por línea de
comandos. En otras palabras, con SSH podemos
conectarnos con servidores usando la red Internet como vía
para las comunicaciones. Esto es algo en lo que
profundizamos en Comandos básicos para administrar
servidores Linux por SSH.
Su característica más importante es que siempre se
realiza de manera segura. Gracias a SSH, la información
que viaja por la Red no es legible por terceras personas y,
para ello, todo el tránsito de la información se realiza
encriptando los datos. Esto es importante para garantizar
que el tráfico de datos se realice siempre de manera
confidencial y que nadie sea capaz de escuchar el canal de
comunicaciones para robar información o claves de acceso a
los servidores.
El puerto predeterminado para las conexiones SSH es
el 22.
¿Cómo funciona SSH?
El protocolo SSH utiliza una arquitectura cliente-
servidor para establecer conexiones seguras. Aquí hay un
resumen de cómo funciona:
Cliente SSH: Es la aplicación que utilizas para conectarte a
un servidor remoto. Puedes utilizar diferentes clientes SSH,
como OpenSSH en sistemas Linux o PuTTY en Windows.
Servidor SSH: Se ejecuta en el servidor remoto al que
deseas acceder. Este servidor está configurado para aceptar
conexiones SSH y autenticar a los usuarios.
Autenticación: Cuando intentas conectarte a un servidor
remoto, el cliente SSH y el servidor SSH inician un proceso
de autenticación. Esto generalmente implica el uso de un
nombre de usuario y una contraseña (o una clave SSH).
La clave SSH es una forma más segura de autenticación y
se recomienda encarecidamente su uso.
¿Para qué se utiliza SSH?
Debido a su seguridad, SSH es el modo preferido para la
realización de conexión con servidores que necesitamos
administrar. La diferencia con respecto a otros protocolos
más antiguos como Telnet es que el protocolo SSH
siempre es seguro.
Sin embargo, aprovechando la seguridad de las
comunicaciones, también se utiliza para otros objetivos
como:
Transferencia de Archivos Segura: Permite transferir
archivos de forma segura entre sistemas locales y remotos
utilizando herramientas como el comando SCP o SFTP.
Creación de Túneles de Red: SSH se utiliza para crear
túneles de datos seguros que redirigen el tráfico de red a
través de conexiones SSH, lo que puede ayudar a proteger
la comunicación en redes no seguras. Se usan en sistemas
como Ngrok, un software que permite a los desarrolladores
exponer de manera remota los trabajos, tal como los tienen
funcionando en su servidor de desarrollo local.