Cómo Solucionar el Error Permission Denied (publickey) en Linux de Forma Definitiva

Cómo Solucionar el Error Permission Denied (publickey) en Linux de Forma Definitiva
Anuncio relacionado

Introducción al error Permission Denied (publickey) en Linux

Uno de los problemas más frustrantes al administrar servidores o conectarse a repositorios remotos mediante SSH en entornos Linux es el temido mensaje Permission denied (publickey). Este error ocurre cuando el servidor remoto rechaza la clave pública proporcionada por tu cliente, impidiendo la autenticación. A continuación, exploraremos las causas principales y cómo solucionarlo paso a paso.

Causas principales del fallo de autenticación SSH

El rechazo de la clave pública suele deberse a fallos comunes en la configuración del cliente o del servidor. Entre las causas más frecuentes se encuentran:

  • Permisos incorrectos en el directorio .ssh o en los archivos de claves.
  • El servicio SSH en el servidor no tiene habilitada la autenticación por clave pública.
  • La clave privada correcta no está cargada en el agente SSH (ssh-agent).
  • La clave pública no ha sido añadida correctamente al archivo authorized_keys del servidor.

Método 1: Corregir los permisos de archivos y carpetas SSH

Linux es extremadamente estricto con los permisos de seguridad. Si la carpeta .ssh o el archivo authorized_keys tienen permisos de escritura para otros usuarios, el servidor rechazará la conexión por motivos de seguridad.

  1. Abre tu terminal local o en el servidor afectado.
  2. Ejecuta el siguiente comando para ajustar los permisos del directorio .ssh:
    chmod 700 ~/.ssh
  3. Establece los permisos correctos para la clave privada (ejemplo id_rsa):
    chmod 600 ~/.ssh/id_rsa
  4. Establece los permisos correctos para el archivo de claves autorizadas:
    chmod 600 ~/.ssh/authorized_keys

Método 2: Verificar y añadir la clave al agente SSH

A veces, el cliente SSH no está utilizando la clave correcta al intentar establecer la conexión. Debes asegurarte de que tu clave privada esté cargada en el agente.

  1. Inicia el agente SSH en segundo plano ejecutando:
    eval "$(ssh-agent -s)"
  2. Añade tu clave privada predeterminada o específica con el comando:
    ssh-add ~/.ssh/id_rsa
  3. Verifica que la clave se haya añadido correctamente listando las huellas digitales:
    ssh-add -l

Método 3: Revisar la configuración del servidor SSH (sshd_config)

Si el problema persiste desde el lado del servidor, es probable que la configuración en /etc/ssh/sshd_config esté bloqueando el acceso por claves públicas.

  1. Accede al servidor con un usuario con privilegios root o sudo y abre el archivo de configuración:
    sudo nano /etc/ssh/sshd_config
  2. Busca y asegúrate de que las siguientes directivas estén descomentadas y configuradas correctamente:
    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys
  3. Guarda los cambios y reinicia el servicio SSH para aplicar la nueva configuración:
    sudo systemctl restart sshd
Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
PrestaShop

Cómo Solucionar el Error 500 en PrestaShop de Forma Definitiva

El Error 500 es uno de los fallos más comunes y frustrantes en PrestaShop. Aprende a identificar la causa exacta y aplícale una solución definitiva hoy mismo.

Leer guía completa →
Windows

Cómo Solucionar el Error Pantalla Azul CRITICAL_PROCESS_DIED en Windows de Forma Definitiva

Aprende a identificar y corregir el temido pantallazo azul CRITICAL_PROCESS_DIED en Windows. Soluciones prácticas para recuperar la estabilidad del sistema.

Leer guía completa →
Juegos

Cómo Solucionar el Error DXGI_ERROR_DEVICE_HUNG en Juegos de PC Definitivamente

El error DXGI_ERROR_DEVICE_HUNG es uno de los problemas más frustrantes en el gaming de PC. Aprende a solucionarlo con este tutorial paso a paso.

Leer guía completa →