CodeGym /Cursos /Docker SELF /Configuración de SSH, diagnóstico de red con `ping`, `net...

Configuración de SSH, diagnóstico de red con `ping`, `netstat`, `dig`

Docker SELF
Nivel 4 , Lección 5
Disponible

Configuración de SSH, diagnóstico de red con ping, netstat, dig

1. Configuración del servidor SSH

¡Bienvenido a una inmersión práctica en las capacidades de red de Linux! Hoy es el momento de poner a prueba nuestros conocimientos. Aprenderás a configurar un servidor SSH, conectarte a él mediante un cliente, diagnosticar la red utilizando los comandos más populares y comprobar la disponibilidad de puertos. ¡Sintámonos como verdaderos ingenieros de red!

SSH (Secure Shell) es una herramienta para el acceso remoto seguro a un servidor. Permite conectarse al servidor, administrarlo como si estuvieras frente a él y transferir archivos.

Paso 1: Instalación del servidor SSH

Primero, instalemos el servidor SSH. Si estás usando Ubuntu o Debian, ejecuta el siguiente comando:

sudo apt update
sudo apt install openssh-server -y

Si usas Fedora o CentOS:

sudo yum install -y openssh-server

Después de la instalación, asegúrate de que el servicio SSH esté en ejecución:

sudo systemctl start ssh
sudo systemctl enable ssh  # Para que SSH se inicie automáticamente al arrancar el sistema
sudo systemctl status ssh  # Comprobamos el estado del servicio

Si todo fue exitoso, verás que el servicio está funcionando.

Paso 2: Configuración del servidor SSH

El archivo de configuración del servidor SSH se encuentra en la siguiente ruta:

sudo nano /etc/ssh/sshd_config

Algunos de los parámetros útiles:

  • PermitRootLogin no — prohibir el inicio de sesión como usuario root.
  • PasswordAuthentication yes — habilitar la autenticación por contraseña.
  • PubkeyAuthentication yes — habilitar la autenticación mediante claves.

Después de realizar los cambios, reinicia SSH:

sudo systemctl restart ssh

Ahora el servidor está listo para aceptar conexiones.

Paso 3: Conexión al servidor mediante SSH

Desde otra máquina (o desde la misma máquina de forma local usando localhost), intenta conectarte:

ssh your_username@your_server_ip

Si estás trabajando localmente, reemplaza your_server_ip por 127.0.0.1. Ingresa la contraseña de tu usuario y estarás dentro del sistema a través del terminal.


2. Configuración de autenticación usando claves

La autenticación con contraseña es cómoda, pero desde el punto de vista de la seguridad, la mejor opción es usar claves SSH.

Paso 1: Generación de claves SSH

En la máquina cliente, ejecuta el comando:

ssh-keygen

Te preguntarán dónde quieres guardar las claves. Por defecto, se guardarán en el directorio ~/.ssh/. Simplemente presiona Enter.

Paso 2: Copiar la clave al servidor

Copiamos la clave pública al servidor:

ssh-copy-id your_username@your_server_ip

Ahora podrás conectarte sin ingresar una contraseña:

ssh your_username@your_server_ip

Si todo está configurado correctamente, ¡felicitaciones! Ahora tu servidor SSH está protegido con autenticación basada en claves.


3. Diagnóstico de red con ping

Ya conocemos este comando. Vamos a verificar rápidamente la disponibilidad de nuestro servidor SSH.

ping -c 4 your_server_ip

Deberías ver una respuesta del servidor. Si no hay respuesta, verifica si el servidor está en marcha y configurado correctamente.


4. Comprobación de DNS usando nslookup y dig

Si tu servidor tiene un nombre de dominio, puedes verificar su funcionalidad a través de DNS. Por ejemplo:

Comando nslookup:

nslookup your-domain.com

Deberías ver una dirección IP asociada con tu dominio.

Comando dig:

Ahora intentemos obtener un conjunto completo de información:

dig your-domain.com

Verás un montón de datos, pero nos interesa la línea con ANSWER SECTION, donde estará especificada la dirección IP.


5. Análisis de conexiones de red con netstat y ss

El servidor SSH escucha en el puerto 22 por defecto. Vamos a comprobarlo con netstat:

sudo netstat -tln | grep 22

O usando ss, una herramienta más moderna:

sudo ss -tln | grep 22

Si ves que el puerto 22 está en estado "LISTEN" (esperando conexiones), significa que el servidor está listo para aceptar clientes.


6. Verificación de la accesibilidad del puerto usando nc

El comando netcat (o nc) permite probar la accesibilidad de los puertos. Intentemos conectarnos a nuestro servidor SSH:

nc -zv your_server_ip 22

Deberías ver un mensaje como "Connection to your_server_ip 22 port [tcp/ssh] succeeded!".

Si la conexión falla, esto puede significar que el puerto está bloqueado por un firewall o que el servidor no está escuchando en el puerto especificado.


7. Tarea práctica

Vamos a combinar todo en un solo escenario práctico. Necesitarás:

  1. Activar SSH en tu máquina o entorno virtual, como por ejemplo WSL2.
  2. Generar claves y configurar la autenticación por claves (deshabilitando contraseñas).
  3. Conectarte al servidor usando SSH.
  4. Usar ping para comprobar la disponibilidad del servidor.
  5. Usar nslookup y dig para verificar el resolvimiento de la dirección IP (si tienes un nombre de dominio).
  6. Verificar el puerto 22 en el servidor usando netstat, ss y nc.

¡Ahora ya estás listo no solo para configurar el acceso remoto, sino también para resolver problemas de red, diagnosticar el servidor y protegerlo como un verdadero pro! Estás en camino de convertirte en un gurú de Linux.

1
Опрос
Trabajo con redes en Linux,  4 уровень,  5 лекция
недоступен
Trabajo con redes en Linux
Trabajo con redes en Linux
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION