SSH: Acceso Seguro a tu Servidor

SSH, o Secure Shell, es un protocolo de red que permite a los usuarios acceder y administrar de forma segura servidores remotos y otros dispositivos. Proporciona una capa de seguridad crucial al cifrar las comunicaciones entre el cliente y el servidor, lo que hace que sea difícil para los atacantes interceptar o modificar datos sensibles durante la transmisión.

¿Qué es SSH?

SSH es un protocolo de comunicación utilizado para autenticar y cifrar las conexiones entre un cliente y un servidor. Fue desarrollado como una alternativa segura al antiguo protocolo Telnet, que transmitía datos de forma no cifrada y era vulnerable a ataques de escucha en la red.

Algunos puntos clave sobre SSH:

  • Autenticación segura: SSH permite a los usuarios autenticarse en un servidor mediante contraseñas o, de forma más segura, mediante llaves criptográficas públicas y privadas.
  • Cifrado: Todas las comunicaciones entre el cliente y el servidor SSH están cifradas, lo que significa que incluso si alguien intercepta los datos, no podrá entender su contenido.
  • Puerto predeterminado: El puerto estándar para SSH es el 22, pero es posible cambiarlo para aumentar la seguridad.

Puertos SSH

El puerto predeterminado de SSH es el 22. Sin embargo, cambiar el puerto puede ayudar a reducir la exposición a ataques de fuerza bruta. Para cambiar el puerto SSH, edita el archivo de configuración /etc/ssh/sshd_config en el servidor y modifica la línea que comienza con Port. Después, reinicia el servicio SSH para que los cambios surtan efecto.

Conexión por Llave Pública

Una de las características más seguras de SSH es la autenticación por llave pública. En lugar de depender de contraseñas, SSH utiliza un par de llaves criptográficas: una llave pública (que se almacena en el servidor) y una llave privada (que se almacena en el cliente).

Generar un Par de Llaves

Para generar un par de llaves, sigue estos pasos:

  1. En tu cliente, abre una terminal.
  2. Utiliza el siguiente comando para generar un par de llaves RSA. Puedes cambiar el nombre del archivo y la contraseña según tus preferencias:
   ssh-keygen -t rsa -b 4096 -C "tu_email@ejemplo.com"
  1. La llave se generará en el directorio ~/.ssh/. El archivo público tendrá el nombre id_rsa.pub y el archivo privado id_rsa.

Copiar la Llave Pública al Servidor

Para utilizar la autenticación por llave pública, debes copiar tu llave pública al servidor:

  1. Utiliza el comando ssh-copy-id para copiar tu llave pública al servidor:
   ssh-copy-id usuario@servidor

Reemplaza usuario con tu nombre de usuario en el servidor y servidor con la dirección IP o nombre de host del servidor.

  1. Ingresarás la contraseña del usuario en el servidor para completar el proceso.

Iniciar Sesión sin Contraseña

Una vez que hayas copiado tu llave pública al servidor, podrás iniciar sesión sin necesidad de una contraseña. SSH autenticará automáticamente tu llave privada almacenada en tu cliente al conectarte al servidor.

Conclusión

SSH es una herramienta esencial para administrar servidores y dispositivos de forma segura a través de la red. Proporciona cifrado robusto y opciones de autenticación seguras, como la conexión por llave pública, que pueden ayudar a proteger tus sistemas de ataques maliciosos. A medida que continúes en tu curso de servicios en red, seguirás explorando y utilizando SSH para administrar y asegurar tus recursos de red.

Vídeos

Aquí tenéis algunos vídeos de como realizar conexiones con debian.

Conexión remota por ssh
Conexión remota por ssh con Windows 10
Conexió por ssh con llave pública