Cómo Solucionar el Error Permission Denied (publickey) en SSH en Linux

Cómo Solucionar el Error Permission Denied (publickey) en SSH en Linux
Anuncio relacionado

Introducción al Error Permission Denied (publickey)

El protocolo SSH es fundamental para la administración de servidores remotos en Linux. Sin embargo, uno de los problemas más comunes a los que se enfrentan los administradores y desarrolladores es el frustrante mensaje Permission denied (publickey) al intentar conectarse mediante la terminal. Este fallo indica que el servidor remoto ha rechazado la clave de autenticación proporcionada por el cliente.

Causas Principales del Error

Las razones por las que ocurre este error suelen estar relacionadas con fallas en los permisos de los archivos de configuración, claves SSH faltantes en el agente, o bien, porque la clave pública no se encuentra registrada correctamente en el archivo authorized_keys del servidor de destino.

Método 1: Verificar y Corregir los Permisos de la Carpeta .ssh y Claves

Linux es extremadamente estricto con los permisos de seguridad. Si los directorios o archivos de claves tienen permisos de escritura para otros usuarios, el servidor SSH los rechazará automáticamente.

  1. Abre tu terminal local y conéctate o revisa los permisos en tu máquina.
  2. Ejecuta el siguiente comando para ajustar los permisos del directorio .ssh:
    chmod 700 ~/.ssh
  3. Asegúrate de que los permisos de tu clave privada sean correctos (solo lectura para el propietario):
    chmod 600 ~/.ssh/id_rsa
  4. Verifica que el archivo de claves autorizadas tenga los permisos adecuados:
    chmod 644 ~/.ssh/authorized_keys

Método 2: Añadir la Clave Privada al Agente SSH

A veces, el cliente SSH no está cargando la clave privada correcta en la sesión actual, lo que provoca el fallo de autenticación.

  1. Inicia el agente SSH en segundo plano ejecutando:
    eval `ssh-agent -s`
  2. Añade tu clave privada por defecto al agente 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: Diagnosticar con el Modo Verbose (-v)

Si el problema persiste, es necesario conocer exactamente en qué punto falla la negociación SSH.

  1. Ejecuta el comando de conexión SSH añadiendo la opción -v, -vv o -vvv para obtener una salida detallada:
    ssh -v usuario@tu_servidor_ip
  2. Revisa las líneas de la terminal para identificar si el servidor rechaza la clave por formato inválido o si está intentando usar métodos de autenticación alternativos.
Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
PrestaShop

Cómo Solucionar el Error 'The CSRF Token is Invalid' en PrestaShop

¿No puedes guardar cambios o acceder al Back Office de tu tienda por un fallo de autenticación? Te mostramos las soluciones definitivas para el error de token CSRF en PrestaShop.

Leer guía completa →
Hardware

Cómo Solucionar el Fallo de Lectura de un Disco Duro Externo No Reconocido

Descubre los métodos definitivos para reparar y hacer que tu ordenador vuelva a reconocer un disco duro externo que no muestra contenido o letra de unidad.

Leer guía completa →
Windows

Cómo Solucionar el Error 0x80070002 en Windows de Forma Definitiva

El código de error 0x80070002 suele interrumpir las actualizaciones de Windows. Aprende los mejores métodos para solucionarlo definitivamente.

Leer guía completa →