¿Qué es SSH y cómo funciona?

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.
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.
¿Qué es 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 fuerte encryption y es ampliamente utilizado por administradores de red y desarrolladores para administrar sistemas y aplicaciones remotos, ejecutar comandos, compartir archivos, etc.
Necesidad de SSH
SSH fue creadoatedesarrollado 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 desarrollado 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 lugarated en el mundo). Y envíe comandos para que se ejecuten en ese servidor, como si estuviera sentado justo delante del servidor remoto (incluso a kilómetros 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, crearate directorios, create/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.
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.
¿Cómo funciona?
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 autenticarate entre cliente y servidor. Además, el protocolo utiliza fuerte simétrico escryption y algoritmos hash para el intercambio de mensajes entre cliente y servidor para garantizar la privacidad y la integridad de los datos.
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 autenticarseate clientes utilizando 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.
Después del servidor auténticoateSi el cliente tiene éxito, se establece una conexión segura entre ellos.
Acceder al servidor remoto mediante 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 Windows usuario, necesita instalar uno third-Cliente emulador de terminal party para ejecutar comandos ssh. PuTTY es el cliente ssh más popular para Windows sistema operativo.
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 fortaleza 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 bandit 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.overthewire.org, 2220
Cuando escribe el siguiente comando y presiona enter:
$ ssh bandit0@bandit.labs.overthewire.org -p 2220
Le pedirá la contraseña para fines de autenticación. Ahora escriba la contraseña y presione enter:
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
Recibirás un mensaje "Conexión cerrada" cuando se desconecta con éxito de la sesión ssh.
Para Concluir
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 adquirir conocimientos sobre cómo funciona no es fácil de entender, pero es más simple de lo que piensas. Ahora tienes una comprensión básica.anding 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.