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

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

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

Uno de los problemas más frustrantes para los administradores de sistemas y desarrolladores que utilizan Linux es encontrarse con el mensaje Permission denied (publickey) al intentar conectarse a un servidor remoto mediante SSH. Este error ocurre generalmente cuando el servidor rechaza la clave de autenticación o cuando los permisos de los archivos de configuración y directorios SSH no son los correctos.

Causas Principales del Fallo de Autenticación SSH

Las razones más comunes por las cuales se genera este error en distribuciones basadas en Debian, Ubuntu o CentOS son:

  • Permisos incorrectos en el directorio .ssh o en el archivo authorized_keys.
  • La clave pública no ha sido copiada correctamente en el servidor remoto.
  • El servicio SSH en el servidor tiene deshabilitada la autenticación por clave pública.
  • Estás intentando autenticarte con un usuario incorrecto o la clave privada no se está cargando en el agente SSH.

Método 1: Corregir los Permisos de Archivos y Directorios SSH

El demonio de SSH (OpenSSH) es sumamente estricto con los permisos de seguridad. Si el directorio .ssh o el archivo authorized_keys tienen permisos de escritura para el grupo o otros usuarios, la conexión será rechazada automáticamente.

  1. Accede a tu servidor físico o mediante otra vía de emergencia.
  2. Ejecuta el siguiente comando para ajustar los permisos del directorio .ssh: chmod 700 ~/.ssh
  3. Asegúrate de que el archivo de claves autorizadas tenga permisos restrictivos: chmod 600 ~/.ssh/authorized_keys
  4. Verifica que el propietario del directorio sea el usuario correcto: chown -R $USER:$USER ~/.ssh

Método 2: Verificar y Añadir la Clave Pública Correctamente

A veces, la clave no se copió íntegramente o el archivo authorized_keys está corrompido.

  1. Desde tu máquina local, genera una nueva clave si es necesario ejecutando: ssh-keygen -t rsa -b 4096
  2. Copia la clave al servidor remoto usando la utilidad estándar: ssh-copy-id usuario@tu-servidor-ip
  3. Si el puerto SSH es diferente al 22, especifícalo así: ssh-copy-id -p 2222 usuario@tu-servidor-ip

Método 3: Revisar la Configuración del Servidor SSH (sshd_config)

Si los pasos anteriores no funcionan, el problema puede residir en la configuración global del servicio SSH en el servidor.

  1. Abre el archivo de configuración con privilegios de superusuario: sudo nano /etc/ssh/sshd_config
  2. Busca y asegúrate de que las siguientes directivas estén habilitadas y descomentadas: PubkeyAuthentication yes y 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 Módulos de PrestaShop de Forma Definitiva

El error 500 al gestionar módulos en PrestaShop es común pero frustrante. Aprende a diagnosticarlo y solucionarlo definitivamente.

Leer guía completa →
Juegos

Cómo Solucionar el Error de Físicas Aceleradas por Altos FPS en Fallout 4 de Forma Definitiva

Jugar a Fallout 4 con tasas de refresco superiores a 60 Hz rompe las físicas del juego. Aprende a solucionarlo fácilmente.

Leer guía completa →
Hardware

Cómo Solucionar el Error 'WHEA_UNCORRECTABLE_ERROR' en Windows de Forma Definitiva

Aprende a diagnosticar y solucionar el temido error de hardware WHEA_UNCORRECTABLE_ERROR en Windows de manera definitiva.

Leer guía completa →