Cómo Solucionar el Error 'Permission denied (publickey)' en SSH de Forma Definitiva

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

Introducción al error Permission denied (publickey) en SSH

Uno de los problemas más frustrantes al administrar servidores remotos basados en Linux es encontrarse con el mensaje de error Permission denied (publickey) al intentar conectarse mediante SSH. Este fallo indica que el servidor ha rechazado tus credenciales porque no reconoce o no tiene autorizada la clave pública que estás utilizando para autenticarte.

Causas principales del fallo de autenticación SSH

El error de permisos en SSH suele estar provocado por una de las siguientes razones comunes:

  • Permisos incorrectos en el directorio ~/.ssh o en el archivo authorized_keys del servidor remoto.
  • La clave privada correcta no está cargada en el agente SSH de tu máquina local.
  • El archivo de configuración del servidor SSH (sshd_config) tiene deshabilitada la autenticación por clave pública.
  • Estás intentando conectar con el usuario incorrecto o la clave pública no se copió adecuadamente al servidor.

Método 1: Verificar y corregir los permisos en el servidor remoto

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

  1. Accede a tu servidor mediante la consola de recuperación o un método alternativo.
  2. Ejecuta el siguiente comando para asegurar que tu carpeta personal tenga los permisos correctos: chmod 700 ~/.ssh
  3. Ajusta los permisos del archivo de claves autorizadas con: chmod 600 ~/.ssh/authorized_keys
  4. Verifica que el propietario del directorio sea el usuario correcto usando: chown -R $USER:$USER ~/.ssh

Método 2: Comprobar y añadir la clave privada al agente SSH

A veces el problema no está en el servidor, sino en que tu equipo local no está enviando la clave adecuada durante el establecimiento de la conexión.

  1. Inicia el agente SSH en tu terminal local ejecutando: eval "$(ssh-agent -s)"
  2. Añade tu clave privada predeterminada con el comando: ssh-add ~/.ssh/id_rsa (o la ruta correspondiente a tu clave).
  3. Verifica que la clave se haya añadido correctamente listándola con: ssh-add -l

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

Si los pasos anteriores no funcionan, es posible que el demonio SSH en el servidor no permita este tipo de acceso.

  1. Abre el archivo de configuración con privilegios de superusuario: sudo nano /etc/ssh/sshd_config
  2. Busca las directivas PubkeyAuthentication y AuthorizedKeysFile, y asegúrate de que estén descomentadas y configuradas como yes.
  3. Guarda los cambios y reinicia el servicio SSH ejecutando: sudo systemctl restart sshd
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 solucionar el error HTTP 500 al cargar imágenes en tu tienda PrestaShop. Guía detallada con métodos efectivos para recuperar el funcionamiento de tu catálogo.

Leer guía completa →
Juegos

Cómo Solucionar el Error DXGI_ERROR_DEVICE_HUNG en Juegos de Forma Definitiva

El error DXGI_ERROR_DEVICE_HUNG interrumpe tus partidas cerrando el juego inesperadamente. Aprende a solucionarlo aplicando estos métodos avanzados.

Leer guía completa →
WordPress

Cómo Solucionar la Pantalla Blanca de la Muerte (WSoD) en WordPress de Forma Definitiva

La Pantalla Blanca de la Muerte es uno de los errores más temidos en WordPress. Aprende a identificar su causa y solucionarlo rápidamente.

Leer guía completa →