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. Por lo tanto, los investigadores de redes definieron un conjunto de reglas para comunicarse con otras máquinas y comenzaron a desarrollar protocolos como Telnet; con eso, un usuario puede tomar 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 que se transfieren. A mediados de los 90, un protocolo más seguro llamado ssh se ha introducido como un sucesor fiable del protocolo telnet.

cubierta segura

Si es un desarrollador de software o administrador de sistemas que trabaja en una industria, es posible que haya utilizado ssh, al menos una vez. Si no lo hizo, aprendamos ahora, ya que es una de las habilidades esenciales que debe conocer.

What is SSH?

SSH or Secure Shell or Carcasa de enchufe segura es un protocolo de red que nos ayuda a acceder y comunicarnos de forma segura con máquinas remotas (principalmente servidores remotos).

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

Need of SSH

SSH se creó en 1995 para resolver los problemas de seguridad que enfrentan los protocolos de acceso remoto no seguros como iniciar sesión, rsh, Telnet.

Ahora hablemos de Telnet, Lo que significa Red de teletipo desarrollada en 1969. Es una sencilla herramienta de línea de comandos que se ejecuta en su computadora para acceder a un servidor remoto (en cualquier lugar del mundo). Y envíe comandos para que se ejecuten en ese servidor, como si estuviera sentado justo antes del servidor remoto (incluso a millas de distancia del servidor). Telnet transmite y recibe mensajes en texto plano a través de una red.

Los comandos que ejecutaría podrían ser ejecutar programas, crear directorios, crear / eliminar / transferir archivos, iniciar / detener servicios, etc.

El problema de conectar otra máquina en una red es que los datos que se transmiten pasarán a través de muchas redes. Mientras tanto, algunos de los cuales podrían ser inseguros, y los datos de transmisión podrían ser interceptados, posiblemente modificados antes de que lleguen a la máquina objetivo deseada.

Comunicación encriptada

En los primeros días, donde la seguridad no era tan importante, toda la comunicación se realizaba en texto sin formato. Por lo tanto, los datos que se transmiten a través de Internet entre el cliente y el servidor se pueden interceptar fácilmente. Y se puede leer ya que los mensajes no están encriptados.

Por lo tanto, los protocolos de texto plano son extremadamente inseguros y nunca se deben usar para la transmisión de datos sensibles como contraseñas, secretos, etc. Por lo tanto, SSH se considera una alternativa segura a los protocolos de red de acceso remoto heredados.

How does it work?

SSH utiliza una arquitectura cliente-servidor para una comunicación segura a través de la red al conectar un cliente ssh con el servidor ssh. De forma predeterminada, el servidor ssh escucha el puerto TCP estándar 22 (puede cambie esto para una mejor seguridad).

Utiliza una técnica de criptografía de clave pública para autenticarse entre el cliente y el servidor. Además, el protocolo utiliza algoritmos de cifrado y hash simétricos sólidos para el intercambio de mensajes entre cliente y servidor para garantizar la privacidad y la integridad de los datos.

Comunicación cifrada SSH

Linux es el sistema operativo ampliamente utilizado para servidores remotos debido a su seguridad y durabilidad. Muchos servidores que utilizan el sistema operativo Linux en Internet han estado funcionando durante años sin muchas fallas o incluso reiniciados.

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

  • Autenticación
  • Ejecución de comandos

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

Y las dos formas populares son:

  • Basado en contraseña
  • Basado en clave

Autenticación basada en contraseña es el método predeterminado utilizado para la autenticación de OpenSSH clientes instalados. Es la autenticación ssh más básica pero no la más segura.

Aunque las contraseñas se envían al servidor de forma segura, las ataques de fuerza bruta puede omitir la autenticación.

Autenticación basada en claves Mejora aún más la seguridad del sistema al generar pares de claves SSH, lo que demuestra ser una alternativa confiable y segura.

Una vez que el servidor autentica al cliente correctamente, se establece una conexión segura entre ellos.

Accessing Remote Server Using SSH

Si es un usuario de Mac / Linux, puede usar directamente el terminal para escribir y ejecutar comandos ssh, ya que OpenSSH ya está instalado por defecto.

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

Para conectarse a un servidor remoto usando SSH, necesita saber al menos dos cosas.

  • host del servidor
  • nombre de usuario

La sintaxis del comando ssh básico es:

$ ssh <user-name> @ <host> -p <port-no>

La Nombre de usuario es el nombre de usuario de la máquina remota que estamos intentando conectar (y no el usuario en su máquina local), y el anfitrión es una dirección IP o un nombre de dominio.

Veamos un ejemplo de conexión a un servidor remoto usando el Sobre el cable sitio web. Es un sitio web gratuito de desafíos de juegos de guerra.

Ahora, conectemos al bandido desafío usando ssh. Es uno de los desafíos disponibles en el sitio web que enseña cómo iniciar sesión con SSH.

Credenciales:

usuario Contraseña: bandit0
Puerto host: bandit.labs.oticalwire.org, 2220

Cuando escribe el siguiente comando y presiona enter:

$ ssh [email protected] -p 2220

Le pedirá la contraseña para fines de autenticación. Ahora escriba la contraseña y presione enter:

Ejemplo de inicio de sesión SSH

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

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

Cuando desee finalizar la sesión ssh, escriba salida mando:

$ exit

Fin de la sesión SSH

Recibirás un mensaje "Conexión cerrada" cuando se desconecta con éxito de la sesión ssh.

Conclusión

La principal razón detrás de la popularidad de SSH es toda la comunicación entre el servidor y el cliente está encriptada.

La mayoría de la gente asume que usar ssh es complejo y que obtener conocimientos sobre cómo funciona no es fácil de entender, pero es más simple de lo que cree. Ahora tiene una comprensión básica de SSH, cómo funciona, los aspectos de seguridad detrás de él y por qué juega un papel vital en la comunicación.

A continuación, explore algunos de los recursos para conviértete en administrador de sistemas.