0Pricing
Linux Server Deployment & SSH Mastery · Lección

Autenticación SSH basada en claves

Genere pares de claves SSH, implemente claves públicas en servidores y desactive la autenticación mediante contraseña para mejorar la seguridad.

Autenticación SSH basada en claves es una lección gratuita de Linux Server Deployment & SSH Mastery en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Linux Server Deployment & SSH Mastery, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Linux Server Deployment & SSH Mastery incluye 4 lecciones en total.

Desbloquear SSH con pares de claves

¡Bienvenido! En esta lección aprenderá sobre la autenticación SSH basada en claves. Este método es mucho más seguro y práctico que utilizar contraseñas tradicionales para iniciar sesión en su servidor.

Las claves SSH funcionan como un apretón de manos digital que demuestra su identidad sin necesidad de escribir una contraseña cada vez.

La magia de las claves públicas y privadas

La autenticación mediante claves SSH se basa en un par de claves criptográficas:

  • Clave privada: esta clave permanece en su máquina local y debe mantenerse en secreto. Considérela como la llave única de su cerradura digital.
  • Clave pública: esta clave se coloca en el servidor al que desea acceder. Es como una cerradura especial que solo puede abrirse con su clave privada.

Cuando intenta conectarse, el servidor desafía a su cliente, que utiliza su clave privada para demostrar su identidad.

Generar sus claves SSH

Puede generar su propio par de claves SSH mediante el comando ssh-keygen en su máquina local. De forma predeterminada, crea un par de claves RSA.

Cuando se le solicite, puede elegir una frase de contraseña para proteger su clave privada. Esto añade una capa de seguridad adicional, ya que tendrá que introducir la frase de contraseña antes de utilizar la clave.

ssh-keygen

Personalizar la generación de claves

Para obtener una mayor seguridad, se recomienda utilizar tipos de claves más recientes, como ED25519. También puede especificar un nombre de archivo personalizado para sus claves.

  • -t ed25519: especifica el algoritmo ED25519.
  • -f ~/.ssh/my_server_key: crea los archivos my_server_key y my_server_key.pub.

¡Utilice siempre una frase de contraseña segura para su clave privada!

ssh-keygen -t ed25519 -f ~/.ssh/my_server_key

Entender los archivos de claves

Después de generarlas, las claves suelen almacenarse en el directorio ~/.ssh/ de su máquina local. Encontrará dos archivos:

  • id_ed25519 (o id_rsa): es su clave privada. Manténgala completamente protegida y no la comparta nunca.
  • id_ed25519.pub (o id_rsa.pub): es su clave pública. Este es el archivo que copiará en su servidor.

¡Los permisos de estos archivos también son muy importantes para la seguridad!

Implementar fácilmente su clave pública

La forma más sencilla de copiar su clave pública en un servidor es utilizar el comando ssh-copy-id. Este copia de forma segura su clave pública en el archivo ~/.ssh/authorized_keys del servidor.

La primera vez que ejecute este comando para un servidor nuevo, deberá utilizar su contraseña. Después, normalmente ya no será necesario iniciar sesión con contraseña.

ssh-copy-id user@your_server_ip

Implementar manualmente la clave pública

Si ssh-copy-id no está disponible o prefiere un método manual, puede copiar usted mismo la clave pública en el servidor.

Primero, asegúrese de que el directorio ~/.ssh exista y tenga los permisos correctos (700) en el servidor. Después, añada su clave pública al archivo ~/.ssh/authorized_keys (con permisos 600).

cat ~/.ssh/id_ed25519.pub | ssh user@your_server_ip \
"mkdir -p ~/.ssh && chmod 700 ~/.ssh && \
cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Conectarse con sus nuevas claves

Una vez que su clave pública esté en el servidor, podrá conectarse mediante SSH. Si utilizó el nombre de clave predeterminado (por ejemplo, id_rsa o id_ed25519), SSH la encontrará automáticamente.

Si utilizó un nombre de clave personalizado (por ejemplo, my_server_key), deberá especificarlo mediante la opción -i.

ssh -i ~/.ssh/my_server_key user@your_server_ip

Desactivar el inicio de sesión con contraseña por seguridad

Para mejorar la seguridad, se recomienda encarecidamente desactivar la autenticación mediante contraseña en su servidor una vez que el inicio de sesión basado en claves funcione correctamente.

Edite el archivo de configuración del demonio SSH (/etc/ssh/sshd_config) en el servidor, cambie PasswordAuthentication yes por no y reinicie el servicio SSH (por ejemplo, con sudo systemctl restart sshd o sudo service ssh restart).

# On the server, edit /etc/ssh/sshd_config
PasswordAuthentication no
# Then restart SSH service
sudo systemctl restart sshd

Comprobación de la autenticación mediante claves

Ha aprendido cómo funciona la autenticación SSH basada en claves, cómo generar claves y cómo implementarlas. ¡Pongamos a prueba sus conocimientos!

Resumen: proteger SSH con claves

¡Excelente trabajo! Ha dominado la autenticación SSH basada en claves. Ha aprendido:

  • La diferencia entre las claves públicas y privadas.
  • Cómo generar pares de claves mediante ssh-keygen.
  • Cómo implementar su clave pública en un servidor con ssh-copy-id o manualmente.
  • Cómo conectarse de forma segura sin contraseñas.
  • Por qué y cómo desactivar la autenticación mediante contraseña en su servidor.

Las claves SSH son una herramienta fundamental para administrar servidores de forma segura y eficiente. ¡Siga practicando!

Preguntas frecuentes

¿La lección «Autenticación SSH basada en claves» es gratis?

Sí — el texto completo de «Autenticación SSH basada en claves» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Linux Server Deployment & SSH Mastery, actualiza a CoddyKit PRO. El curso de Linux Server Deployment & SSH Mastery incluye 4 lecciones en total.

¿Qué aprenderé en «Autenticación SSH basada en claves»?

Genere pares de claves SSH, implemente claves públicas en servidores y desactive la autenticación mediante contraseña para mejorar la seguridad. Practicas Linux Server Deployment & SSH Mastery con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Linux Server Deployment & SSH Mastery?

No se requiere experiencia previa. Linux Server Deployment & SSH Mastery en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Autenticación SSH basada en claves»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Linux Server Deployment & SSH Mastery?

Sí. Cada lección de Linux Server Deployment & SSH Mastery incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Comprensión del protocolo SSH
  2. Configuración de su cliente SSH
  3. Autenticación SSH basada en claves
  4. Refuerzo del servidor SSH
← Volver a Linux Server Deployment & SSH Mastery