¿Qué es SSH y cómo funciona?

toadmin. ru.

SSH es un protocolo de red seguro para acceder a computadoras remotas en una red.

Las computadoras se comunican entre sí a través de redes. Entonces, los investigadores de la red definieron un conjunto de reglas para comunicarse con otras máquinas y comenzaron a desarrollar protocolos como Telnet; Usando esto, un usuario puede obtener el control de otra computadora.

Pero no son seguros, es decir, cualquier persona en el medio de la red puede interceptar y leer los datos transmitidos. A mediados de los 90, el protocolo SSH más seguro se introdujo como un sucesor confiable en el protocolo Telnet.

Si es un desarrollador o administrador de sistemas de software que trabaja en cualquier industria, probablemente haya usado SSH al menos una vez. Si no lo ha hecho, aprendamos ahora, ya que es una de las habilidades básicas que necesita saber.

¿Qué es SSH?

SSH o Secure Shell o Secure Socket Shell es un protocolo de red que nos ayuda a acceder de forma segura y comunicarnos con máquinas remotas (básicamente servidores remotos).

Proporciona un cifrado fuerte y es ampliamente utilizado por los administradores y desarrolladores de la red para administrar sistemas y aplicaciones remotas, ejecutar comandos, compartir archivos, etc.

Necesidad de ssh

SSH fue creado en 1995 para resolver los problemas de seguridad que enfrentan los inseguros protocolos de acceso remoto como Glogin, RSH, Telnet.

Ahora hablemos sobre Telnet, que significa Teletype Network desarrollado en 1969. Es una herramienta de línea de comandos simple que se ejecuta en su computadora para acceder a un servidor remoto (en cualquier parte del mundo). Y envíe comandos para ejecutar ese servidor como si estuviera sentado justo en frente del servidor remoto (incluso a millas de distancia del servidor). Telnet envía y recibe mensajes como texto sin formato a través de la red.

Los comandos que ejecutaría pueden incluir programas iniciales, crear directorios, crear/eliminar/transferir archivos, iniciar/detener los servicios, etc.

El problema con la conexión de otra máquina en una red es que los datos que se transmiten pasarán por muchas redes. Mientras tanto, algunos de ellos pueden no ser seguros, y los datos transmitidos pueden interceptarse y modificarse antes de alcanzar la máquina de destino prevista.

En los primeros días, cuando la seguridad no era tan importante, todas las comunicaciones estaban en texto plano. En consecuencia, los datos transmitidos a través de Internet entre un cliente y un servidor podrían interceptarse fácilmente. Y se puede leer, ya que los mensajes no están encriptados.

Por lo tanto, los protocolos no entrelazados son extremadamente inseguros y nunca se usan para transferir datos confidenciales como contraseñas, secretos, etc. Por lo tanto, SSH se considera una alternativa segura a los protocolos de red de acceso remoto obsoleto.

¿Como funciona?

SSH utiliza la arquitectura de cliente cliente para intercambiar datos de forma segura a través de una red conectando un cliente SSH a un servidor SSH. De manera predeterminada, el servidor SSH escucha en el puerto TCP estándar 22 (puede cambiar esto para obtener más seguridad).

Utiliza un método de criptografía de clave pública para la autenticación entre el cliente y el servidor. Además, el protocolo utiliza algoritmos sólidos de cifrado simétrico y hash para intercambiar mensajes entre el cliente y el servidor para garantizar la confidencialidad y la integridad de los datos.

Linux es un sistema operativo ampliamente utilizado para servidores remotos debido a su seguridad y confiabilidad. Muchos servidores que usan el sistema operativo Linux en Internet se han ejecutado durante años sin bloquear o incluso reiniciar.

La mayoría de las sesiones SSH (el período durante el cual accedemos a un servidor remoto) solo tendrá las siguientes dos operaciones:

  • Autenticación
  • Ejecución de comando

Los servidores SSH pueden autenticar a los clientes utilizando una variedad de métodos.

Y dos métodos populares son:

La autenticación basada en contraseña es el método predeterminado utilizado para la autenticación para los clientes instalados de OpenSSH. Es la autenticación SSH más simple, pero no la más segura.

Aunque las contraseñas se envían al servidor de manera segura, los ataques de fuerza bruta modernos pueden evitar la autenticación.

La autenticación basada en clave mejora aún más la seguridad del sistema mediante la creación de pares de claves SSH, que es una alternativa fuerte y segura.

Una vez que el servidor autentica con éxito el cliente, se establece una conexión segura entre ellos.

Acceder a un servidor remoto usando SSH

Si es un usuario de Mac/Linux, puede usar directamente un terminal para ingresar y ejecutar comandos SSH ya que OpenSSH ya está instalado de forma predeterminada.

Si es un usuario de Windows, debe instalar un cliente de emulador de terminal de terceros para ejecutar comandos SSH. Pastty es el cliente SSH más popular para el sistema operativo Windows.

Para conectarse a un servidor remoto que usa SSH, debe conocer al menos dos cosas.

La sintaxis del comando ssh básico es:

$ ssh @ -p

El nombre de usuario es el nombre de usuario de la máquina remota al que estamos tratando de conectar (no el usuario de su máquina local), y el host es la dirección IP o el nombre de dominio.

Veamos un ejemplo de conexión a un servidor remoto utilizando el sitio web de Overthewire. Este es un sitio web gratuito dedicado a WarGames.

Ahora conectemos al Bandit Challenge usando SSH. Este es uno de los desafíos disponibles en el sitio web que le enseña cómo iniciar sesión con SSH.

Credenciales de acceso:

Nombre de usuario y contraseña: Bandit0 Host and Port: Bandit. labs. overthewire. org, 2220

Cuando escribe el siguiente comando y presione Entrar:

$ ssh [correo electrónico protegido] -P 2220

Le pedirá su contraseña para la autenticación. Ahora ingrese la contraseña y presione Entrar:

Si la contraseña ingresada es correcta, ha iniciado sesión correctamente en el servidor remoto y su terminal se verá como la imagen de arriba.

Ahora puede usar el terminal de la máquina remota para ingresar y ejecutar sus comandos y realizar las operaciones necesarias.

Si desea finalizar la sesión SSH, ingrese el comando de salida:

$ Salida

Recibirá un mensaje de «conexión cerrada» cuando salga con éxito de la sesión SSH.

Conclusión

La razón principal por la que SSH es tan popular es que toda la comunicación entre el servidor y el cliente está encriptada.

La mayoría de las personas piensan que usar SSH es complicado y no es fácil entender el conocimiento de cómo funciona, pero es más fácil de lo que piensas. Ahora tiene una idea general de SSH, cómo funciona, los aspectos de seguridad detrás de él y por qué juega un papel vital en la comunicación.

Luego explore algunos recursos para convertirse en administrador del sistema.

Share to friends