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 SSH

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 interrumpe por completo el flujo de trabajo, impidiendo el acceso administrativo o la ejecución de despliegues automatizados.

Causas Principales del Error SSH

El protocolo SSH utiliza autenticación basada en claves criptográficas por razones de seguridad. Cuando aparece este fallo, generalmente se debe a una de las siguientes razones:

  • Los permisos de los archivos y directorios de la clave SSH son demasiado abiertos.
  • La clave pública no está correctamente registrada en el archivo authorized_keys del servidor remoto.
  • El servicio SSH en el servidor no permite la autenticación por clave pública.
  • Estás intentando autenticarte con la clave privada incorrecta o el agente SSH no la tiene cargada.

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

Linux es extremadamente estricto con los permisos de seguridad. Si la carpeta .ssh o los archivos de claves tienen permisos de escritura para otros usuarios, SSH rechazará la conexión por seguridad.

  1. Abre tu terminal en la máquina local o cliente.
  2. Ejecuta el siguiente comando para corregir los permisos del directorio .ssh: chmod 700 ~/.ssh
  3. Asegúrate de que los permisos de tu clave privada sean correctos ejecutando: chmod 600 ~/.ssh/id_rsa (reemplaza id_rsa por el nombre de tu archivo de clave).
  4. Si utilizas una clave pública, verifica sus permisos con: chmod 644 ~/.ssh/id_rsa.pub

Método 2: Verificar y Copiar la Clave Pública al Servidor Remoto

Si la clave no está en el servidor de destino, la autenticación fallará inevitablemente. Debes asegurarte de transferirla correctamente.

  1. Si tienes acceso temporal mediante contraseña, utiliza la herramienta ssh-copy-id desde tu máquina local: ssh-copy-id usuario@tu_servidor_remoto
  2. Si no tienes acceso por contraseña, accede físicamente o mediante la consola de tu proveedor VPS, abre el archivo ~/.ssh/authorized_keys y pega el contenido exacto de tu clave pública local (id_rsa.pub).
  3. Asegúrate de que el archivo authorized_keys en el servidor también tenga los permisos estrictos correctos: chmod 600 ~/.ssh/authorized_keys

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

A veces el problema radica en las directivas de configuración del demonio SSH en el servidor remoto.

  1. Accede al servidor remoto e ingresa al archivo de configuración con un editor de texto con privilegios de superusuario: sudo nano /etc/ssh/sshd_config
  2. Busca las siguientes líneas y asegúrate de que estén descomentadas y configuradas correctamente: PubkeyAuthentication yes y AuthorizedKeysFile .ssh/authorized_keys
  3. Guarda los cambios y reinicia el servicio SSH para aplicar la nueva configuración ejecutando: sudo systemctl restart ssh o sudo systemctl restart sshd
Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
Desarrollo

Cómo Solucionar el Error Call to a Member Function on Null en PHP Definitivamente

Descubre por qué ocurre el error de método en valor nulo en PHP y cómo solucionarlo aplicando buenas prácticas de programación. Sigue nuestra guía paso a paso.

Leer guía completa →
Windows

Cómo Solucionar el Error Código 43 en el Administrador de Dispositivos de Windows

El Código 43 indica que un dispositivo de hardware ha informado a Windows que tiene problemas. Aprende a solucionarlo con este tutorial completo.

Leer guía completa →
WordPress

Cómo Solucionar el Error al Establecer una Conexión con la Base de Datos en WordPress Paso a Paso

El error de conexión a la base de datos en WordPress bloquea todo tu sitio web. Descubre cómo identificar la causa exacta y solucionarlo en pocos minutos.

Leer guía completa →