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

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

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

El error Permission Denied (publickey) es uno de los problemas más comunes a los que se enfrentan los administradores de sistemas y desarrolladores al intentar conectarse a un servidor remoto mediante SSH en sistemas Linux. Este fallo indica que el servidor ha rechazado las credenciales presentadas por el cliente, impidiendo la autenticación.

Causas Principales del Error SSH

Existen diversos motivos por los cuales Linux puede denegar el acceso mediante llaves SSH. Entre los más habituales se encuentran:

  • Permisos incorrectos en el directorio .ssh o en los archivos de claves.
  • La clave pública no está registrada en el archivo authorized_keys del servidor remoto.
  • El servicio SSH no está configurado para permitir la autenticación por clave pública.
  • Se está intentando usar el par de claves incorrecto o el agente SSH no tiene cargada la llave correcta.

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

Linux es extremadamente estricto con la seguridad de las claves SSH. Si los permisos son demasiado abiertos, el servidor rechazará la conexión automáticamente.

  1. Abre tu terminal local e ingresa a tu directorio personal: cd ~
  2. Asegúrate de que la carpeta .ssh tenga permisos 700 ejecutando: chmod 700 ~/.ssh
  3. Modifica los permisos del archivo de clave privada para que solo tú puedas leerlo y escribirlo: chmod 600 ~/.ssh/id_rsa (o id_ed25519 según corresponda).
  4. Conéctate al servidor e ingresa al directorio ~/.ssh para aplicar los mismos permisos seguros al archivo authorized_keys: chmod 600 ~/.ssh/authorized_keys

Método 2: Verificar la Configuración del Servidor SSH (sshd_config)

Si los permisos son correctos, el problema podría residir en las directivas de seguridad configuradas en el demonio SSH del servidor.

  1. Accede al servidor utilizando otro método o consola de emergencia y edita el archivo de configuración: sudo nano /etc/ssh/sshd_config
  2. Busca las siguientes líneas y asegúrate de que estén descomentadas y configuradas de la siguiente forma: 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

Método 3: Depurar la Conexión con Verbose Mode

Si el error persiste, necesitas ver exactamente qué está fallando durante el intercambio de claves.

  1. Ejecuta el comando de conexión SSH añadiendo la bandera -v para activar el modo detallado: ssh -v usuario@tu-servidor-ip
  2. Revisa las líneas de salida en la terminal para identificar en qué fase exacta del proceso de autenticación se produce el rechazo y actúa en consecuencia.
Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
PrestaShop

Cómo Solucionar el Error HTTP 500 al Subir Imágenes en PrestaShop de Forma Definitiva

Aprende a resolver el fallo que impide cargar fotografías en tu catálogo de PrestaShop. Soluciones técnicas detalladas paso a paso.

Leer guía completa →
Mac

Cómo Solucionar el Error de la Batería que No Carga en Mac de Forma Definitiva

Tu Mac muestra que está conectado a la corriente pero el porcentaje de la batería no sube. Aprende a solucionar este fallo de hardware y software fácilmente.

Leer guía completa →
Apps

Cómo Solucionar el Error de la Pantalla Negra en OBS Studio Definitivamente

Aprende a resolver el problema de la pantalla negra en OBS Studio con métodos rápidos y efectivos. Recupera la captura de tus juegos y escritorio.

Leer guía completa →