Guía para instalar y configurar OpenSSH en Debian Linux 12.

Anuncios

¿Qué es SSH?

SSH (Secure Shell) es un protocolo de red que permite a los usuarios conectarse de forma segura a otros sistemas a través de una red no segura. Proporciona:

  • Autenticación segura (normalmente mediante contraseñas o claves).
  • Cifrado de datos, evitando que la información pueda ser interceptada.
  • Acceso remoto a sistemas y la posibilidad de ejecutar comandos como si estuvieras en el equipo remoto.

¿Qué es OpenSSH?

OpenSSH es una implementación libre y de código abierto del protocolo SSH. Es una herramienta ampliamente utilizada en sistemas Unix/Linux para conexiones seguras entre equipos.

OpenSSH Server y OpenSSH Client

  • OpenSSH Server: Permite que otros equipos se conecten de manera remota al sistema donde está instalado. Es el componente que recibe las conexiones SSH.
  • OpenSSH Client: Es el programa usado para iniciar una conexión remota desde tu equipo hacia otro sistema que tiene configurado un servidor SSH.

Características de OpenSSH

  1. Cifrado robusto: Utiliza algoritmos de cifrado modernos como AES, ChaCha20, y RSA.
  2. Autenticación segura: Compatible con contraseñas, claves SSH y métodos avanzados como autenticación de dos factores.
  3. Túneles seguros: Soporta túneles TCP/IP y reenvío de puertos para acceder a servicios internos de manera segura.
  4. Compatibilidad amplia: Funciona en diversas plataformas, como Linux, Windows y macOS.
  5. Extensibilidad: Soporta módulos adicionales y personalización.
  6. Herramientas integradas: Como scp y sftp para transferir archivos de manera segura.

Ventajas de OpenSSH

  • Seguridad mejorada: Asegura conexiones remotas mediante cifrado.
  • Ligero y eficiente: Requiere pocos recursos del sistema.
  • Gratuito y de código abierto: Sin costos de licencias.
  • Multipropósito: Conexión remota, transferencia de archivos y reenvío de puertos.
  • Configuración flexible: Puedes personalizarlo según tus necesidades.

Configurar un servidor SSH en un entorno LAMP (Linux, Apache, MySQL, PHP) implica instalar y configurar SSH junto con el stack LAMP en un sistema Linux. 

Instalación de OpenSSH en Debian 12

Instalar OpenSSH Server en Debian 12

Instalar el paquete del servidor OpenSSH
Ejecuta el siguiente comando para instalar el servidor OpenSSH:

$ sudo apt install openssh-server

Verificar el estado del servidor SSH
Después de la instalación, verifica que el servicio esté activo:

$ sudo systemctl status ssh

Si está en funcionamiento, debería mostrar un estado como active (running).

Si no está activo, puedes iniciarlo:

$ sudo systemctl start ssh

Habilitar el servicio al inicio del sistema
Para asegurarte de que el servicio SSH se inicie automáticamente cada vez que enciendas el sistema:

$ sudo systemctl enable ssh

Instalar OpenSSH Client en Debian 12

El cliente SSH suele estar instalado por defecto en Debian. Para asegurarte de que está disponible:

  1. Instalar el cliente SSH (si no está instalado)
$ sudo apt install openssh-client

Configuración básica de OpenSSH

  • Archivo de configuración

El archivo principal de configuración del servidor SSH es:

/etc/ssh/sshd_config

Algunas configuraciones comunes:

  • Puerto del servicio (por defecto es el 22): Cambia el puerto para mayor seguridad:
Port 2222
  • Permitir o denegar el acceso root: Es recomendable desactivar el acceso como root para mejorar la seguridad:
PermitRootLogin no
  • Usar autenticación por claves en lugar de contraseñas: Configura esto añadiendo:
PasswordAuthentication no
PubkeyAuthentication yes

Asegúrate de configurar claves públicas antes de desactivar las contraseñas.

Reinicia el servicio SSH para aplicar los cambios:

$ sudo systemctl restart ssh

¡Con esto, habrás configurado la autenticación con claves públicas!

  • Configurar claves públicas

Configurar claves públicas para autenticarse mediante SSH en Debian 12 implica generar un par de claves (pública y privada) en el cliente y luego transferir la clave pública al servidor. Esto elimina la necesidad de usar contraseñas para iniciar sesión y aumenta la seguridad

En el cliente (tu equipo local)

1. Generar un par de claves SSH

Abre una terminal y ejecuta el comando:

$ ssh-keygen -t rsa -b 4096
  • -t rsa: Especifica el tipo de clave (RSA en este caso).
  • -b 4096: Define el tamaño de la clave en bits para mayor seguridad.

El sistema te pedirá una ubicación para guardar las claves. Presiona Enter para usar la ubicación predeterminada (~/.ssh/id_rsa).
También puedes establecer una contraseña opcional para proteger la clave privada.

Verifica las claves generadas

Anuncios

El comando anterior crea dos archivos en el directorio ~/.ssh/:

  • id_rsa: Tu clave privada (guárdala segura y no la compartas).
  • id_rsa.pub: Tu clave pública (se comparte con el servidor).

En el servidor SSH

1. Copiar la clave pública al servidor

Utiliza el comando ssh-copy-id para transferir tu clave pública al servidor:

$ ssh-copy-id usuario@ip_del_servidor

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

  1. Te pedirá la contraseña del usuario.
  2. Añadirá automáticamente tu clave pública al archivo ~/.ssh/authorized_keys en el servidor.

Configurar permisos correctos en el servidor

Asegúrate de que los permisos en el servidor sean correctos:

$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys

Seguridad adicional (opcional)

  • Configura un firewall para permitir solo conexiones necesarias
$ sudo apt install ufw
$ sudo ufw allow 2222/tcp
$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp
$ sudo ufw enable

Con esto, tu servidor LAMP estará accesible de manera segura mediante SSH.

Para saber la dirección IP o el nombre del servidor en Debian 12

Saber la IP del servidor en Debian 12

$ ip a

Esto mostrará una lista de interfaces de red con sus respectivas direcciones IP. Busca la dirección bajo la sección de la interfaz activa, como eth0ens33 o wlan0.

Usar hostname -I

Este comando devuelve solo las direcciones IP asignadas al servidor:

$ hostname -I

Saber la IP pública (si el servidor está conectado a internet)

Si el servidor tiene acceso a internet, usa este comando para obtener la IP pública:

$ curl ifconfig.me

Esto mostrará la IP pública desde la cual el servidor es accesible desde internet.

Saber el nombre del servidor (hostname)

a) Mostrar el nombre del servidor

$ hostname

Esto devolverá el nombre del servidor (por ejemplo, mi-servidor).

Comprobar el entorno LAMP y SSH.

Desde el cliente, intenta conectarte al servidor:

$ ssh usuario@ip_del_servidor
$ ssh javier02@direccionIPServer

Si todo está configurado correctamente, no se te pedirá una contraseña, y la autenticación será automática.

Accede al servidor web con un navegador:

http://<IP_DEL_SERVIDOR>

Conclusión

OpenSSH es una herramienta esencial para acceder y administrar servidores de forma remota de manera segura. Proporciona un canal encriptado que protege contra intercepciones y ataques de terceros, lo que lo hace ideal para gestionar servidores en redes públicas o privadas. Su flexibilidad al permitir configuraciones avanzadas como autenticación por claves públicas, túneles SSH y reenvío de puertos lo convierten en una solución robusta y ampliamente utilizada.

Nuestra puntuación
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
Anuncios
Comparte en las redes sociales...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos
ResponsableJavier Cachón Garrido +info...
FinalidadGestionar y moderar tus comentarios. +info...
LegitimaciónConsentimiento del interesado. +info...
DestinatariosAutomattic Inc., EEUU para filtrar el spam. +info...
DerechosAcceder, rectificar y cancelar los datos, así como otros derechos. +info...
Información adicionalPuedes consultar la información adicional y detallada sobre protección de datos en nuestra página de política de privacidad.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Scroll al inicio

Descubre más desde javiercachon.com

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo