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

El error Permission Denied (publickey) es uno de los problemas más comunes al intentar conectarse a un servidor remoto o VPS mediante el protocolo SSH en sistemas Linux. Este fallo ocurre cuando el servidor rechaza la clave pública proporcionada por tu equipo cliente, impidiendo la autenticación. Aunque puede resultar frustrante, existen métodos sencillos para identificar la causa y solucionarlo definitivamente.

Causas principales del fallo de autenticación SSH

Entre los motivos más habituales que provocan este error en la terminal se encuentran:

  • Permisos incorrectos en el directorio .ssh o en los archivos de claves del usuario.
  • La clave pública no está registrada correctamente en el archivo authorized_keys del servidor remoto.
  • El servicio SSH en el servidor tiene deshabilitada la autenticación por clave pública o exige contraseña.
  • Estás intentando conectar con el archivo de identidad incorrecto o no se ha cargado en el agente SSH.

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

Uno de los motivos más frecuentes es una mala configuración de permisos en Linux. Las carpetas y archivos de seguridad deben tener permisos estrictos para que el demonio SSH los acepte.

  1. Abre tu terminal local y conéctate al servidor o revisa tu equipo local ejecutando el siguiente comando para corregir el directorio principal: chmod 700 ~/.ssh
  2. Asegúrate de que el archivo de la clave privada tenga los permisos restrictivos correctos: chmod 600 ~/.ssh/id_rsa
  3. En el servidor remoto, verifica que la carpeta de configuración y el archivo de autorizaciones tengan permisos seguros: chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys

Método 2: Añadir la clave pública manualmente al servidor remoto

Si la clave no se copió de forma correcta mediante el comando ssh-copy-id, puedes transferirla de forma manual.

  1. Muestra el contenido de tu clave pública ejecutando en tu máquina local: cat ~/.ssh/id_rsa.pub
  2. Copia la cadena de texto que aparece en pantalla.
  3. Accede a tu servidor remoto utilizando un método alternativo (como la consola de rescate de tu proveedor de hosting) y abre el archivo de claves autorizadas: nano ~/.ssh/authorized_keys
  4. Pega la clave pública al final del documento, guarda los cambios presionando Ctrl + O y sal con Ctrl + X.

Método 3: Verificar la configuración del servicio SSH (sshd_config)

Si el servidor rechaza las conexiones a pesar de tener las claves correctas, es posible que el archivo de configuración del demonio SSH bloquee este acceso.

  1. Abre el archivo de configuración global con privilegios de superusuario: sudo nano /etc/ssh/sshd_config
  2. Busca las siguientes directivas y asegúrate de que estén descomentadas y configuradas de esta manera:
    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys
  3. Guarda el archivo y reinicia el servicio SSH para aplicar los cambios en tu distribución Linux ejecutando: sudo systemctl restart ssh o sudo systemctl restart sshd
Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
Mac

Cómo Solucionar el Error de Permisos y Reparar el Disco en macOS de Forma Definitiva

¿Tu Mac va lento o muestra errores de sistema? Descubre cómo reparar los permisos y la estructura del disco utilizando las herramientas nativas de macOS.

Leer guía completa →
Linux

Cómo Solucionar el Error de sudo command not found en Linux de Forma Definitiva

Aprende a corregir el error sudo command not found en tu distribución Linux favorita. Recupera los privilegios de superusuario en pocos pasos.

Leer guía completa →
PrestaShop

Cómo Solucionar el Error 500 en Módulos de PrestaShop Definitivamente

Aprende a identificar la causa exacta del error 500 generado por módulos defectuosos en PrestaShop y descubre cómo solucionarlo aplicando métodos avanzados.

Leer guía completa →