Configurar certificados SSH para un inicio de sesión seguro

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este proyecto, aprenderá a configurar un certificado SSH para el usuario labex, de modo que el usuario labex no tenga que ingresar una contraseña al iniciar sesión por SSH en el entorno experimental local.

👀 Vista previa

## No es necesario ingresar una contraseña para iniciar sesión en localhost

## Ingrese directamente para entrar en una nueva shell

🎯 Tareas

En este proyecto, aprenderá:

  • Cómo crear un directorio .ssh en el directorio principal del usuario labex
  • Cómo generar un nuevo par de claves SSH
  • Cómo agregar la clave pública recién generada al archivo authorized_keys
  • Cómo reiniciar el servicio SSH después de configurar el certificado SSH
  • Cómo probar la conexión SSH sin contraseña

🏆 Logros

Después de completar este proyecto, podrá:

  • Iniciar sesión de manera segura en el entorno experimental local utilizando certificados SSH
  • Administrar la configuración SSH para el usuario labex
  • Comprender la importancia de utilizar certificados SSH para el acceso seguro a servidores

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/BasicFileOperationsGroup -.-> linux/chmod("Permission Modifying") linux/FileandDirectoryManagementGroup -.-> linux/mkdir("Directory Creating") linux/SystemInformationandMonitoringGroup -.-> linux/service("Service Managing") linux/UserandGroupManagementGroup -.-> linux/sudo("Privilege Granting") linux/RemoteAccessandNetworkingGroup -.-> linux/ssh("Secure Connecting") subgraph Lab Skills linux/ls -.-> lab-301461{{"Configurar certificados SSH para un inicio de sesión seguro"}} linux/cat -.-> lab-301461{{"Configurar certificados SSH para un inicio de sesión seguro"}} linux/chmod -.-> lab-301461{{"Configurar certificados SSH para un inicio de sesión seguro"}} linux/mkdir -.-> lab-301461{{"Configurar certificados SSH para un inicio de sesión seguro"}} linux/service -.-> lab-301461{{"Configurar certificados SSH para un inicio de sesión seguro"}} linux/sudo -.-> lab-301461{{"Configurar certificados SSH para un inicio de sesión seguro"}} linux/ssh -.-> lab-301461{{"Configurar certificados SSH para un inicio de sesión seguro"}} end

Crear directorio SSH y generar par de claves SSH

En este paso, aprenderá a crear un directorio .ssh en el directorio principal del usuario labex y a generar un nuevo par de claves SSH.

  1. Abra una terminal y inicie sesión como el usuario labex:

    sudo su - labex
  2. Cree el directorio .ssh:

    mkdir -p ~/.ssh
  3. Genere un nuevo par de claves SSH:

    ssh-keygen -t rsa -b 4096 -C "labex@localhost"

    Cuando se le solicite, presione Enter para aceptar la ubicación predeterminada del archivo y dejar la frase de contraseña en blanco.

Agregar la clave pública a authorized_keys

En este paso, aprenderá a agregar la clave pública recién generada al archivo authorized_keys.

  1. Agregue la clave pública al archivo authorized_keys:

    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  2. Establezca los permisos correctos para el archivo authorized_keys:

    chmod 600 ~/.ssh/authorized_keys
  3. Reinicie el servicio SSH:

    sudo service ssh restart

Probar la conexión SSH

En este paso, aprenderá a probar la conexión SSH sin contraseña.

  1. Intente iniciar sesión en el entorno experimental local utilizando el usuario labex:

    ssh labex@localhost

    Ahora debería poder iniciar sesión sin contraseña.

  2. Una vez que haya iniciado sesión, puede explorar el directorio principal del usuario labex:

    ls

    Debería ver los directorios Código, Escritorio, golang y proyecto.

✨ Revisar Solución y Practicar

Resumen

¡Felicitaciones! Has completado este proyecto. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.