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

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

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

El protocolo SSH es la herramienta fundamental para la administración remota de servidores Linux. Sin embargo, uno de los problemas más frustrantes que enfrentan los administradores de sistemas y desarrolladores es el mensaje de error Permission denied (publickey) al intentar conectarse mediante la terminal. Este fallo interrumpe por completo la comunicación segura y bloquea el acceso al servidor.

Causas principales del error de autenticación SSH

Este error ocurre generalmente por un desajuste entre las claves criptográficas del cliente y el servidor, o debido a una configuración restrictiva en el demonio SSH. Entre las causas más comunes destacan:

  • Permisos incorrectos en el directorio .ssh o en los archivos de claves (authorized_keys).
  • La clave privada utilizada por el cliente no coincide con ninguna clave pública registrada en el servidor.
  • El archivo sshd_config tiene deshabilitada la autenticación por clave pública.
  • El usuario que intenta conectarse no tiene los permisos adecuados en el sistema.

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 el grupo o otros usuarios, el servidor rechazará la conexión por seguridad.

  1. Inicia sesión en tu servidor Linux (puedes usar la consola de emergencia de tu proveedor de hosting o VPS).
  2. Ejecuta el siguiente comando para ajustar los permisos de la carpeta del usuario afectado: chmod 700 ~/.ssh
  3. Establece los permisos correctos para el archivo de claves autorizadas: chmod 600 ~/.ssh/authorized_keys
  4. Asegúrate de que el propietario del directorio sea el usuario correcto: chown -R usuario:usuario ~/.ssh

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

Si los permisos son correctos, es posible que la configuración del servidor (/etc/ssh/sshd_config) esté bloqueando este tipo de acceso.

  1. Abre el archivo de configuración con un editor de texto 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 correctamente: PubkeyAuthentication yes y AuthorizedKeysFile .ssh/authorized_keys.
  3. Guarda los cambios y sal del editor (en Nano presiona Ctrl+O, Enter y luego Ctrl+X).
  4. Reinicia el servicio SSH para aplicar los cambios: sudo systemctl restart sshd

Método 3: Depurar la conexión SSH desde el cliente

Si el problema persiste, necesitas ver exactamente qué está fallando durante el intercambio de claves ejecutando la conexión con el modo de depuración activado.

  1. Abre la terminal de tu máquina local y ejecuta el comando SSH añadiendo la bandera -v (verbose): ssh -v usuario@tu_servidor_ip
  2. Analiza la salida en pantalla para identificar en qué fase exacta falla la autenticación (por ejemplo, si la clave no es ofrecida o si es rechazada explícitamente).
  3. Si es necesario, vuelve a generar y copiar tu clave pública al servidor utilizando: ssh-copy-id -i ~/.ssh/id_rsa.pub usuario@tu_servidor_ip
Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
Mac

Cómo Solucionar el Error 'Imposible verificar que la aplicación no contiene malware' en Mac de Forma Definitiva

¿Tu Mac te impide abrir una aplicación y muestra un aviso de seguridad de Gatekeeper? Descubre cómo solucionarlo de forma sencilla.

Leer guía completa →
Mac

Cómo Solucionar el Error de Gatekeeper 'La App no puede abrirse porque el desarrollador no puede verificarse' en macOS de Forma Definitiva

Aprende a desactivar y configurar correctamente Gatekeeper en tu Mac para evitar el molesto bloqueo al instalar aplicaciones de terceros.

Leer guía completa →
Linux

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

¿No puedes conectarte a tu servidor Linux por SSH y recibes un error de permisos? Descubre los métodos definitivos para solucionarlo.

Leer guía completa →