GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo reparar el permiso fallido SSH denegado (publickey, gssapi-keyex, gssapi-with-mic)

Introducción

El error de permiso SSH denegado aparece después de modificar la configuración relacionada con el permiso en el servidor SSH. Los escenarios habituales incluyen la instalación de un nuevo paquete o la creación de nuevos usuarios.

En este tutorial, aprenderá a solucionar el error de permiso SSH denegado y a volver a conectarse a su servidor SSH.

Requisitos previos

  • Cliente SSH en la máquina local y servidor SSH en el sistema remoto
  • Una cuenta de usuario para acceder al servidor remoto (para inicio de sesión basado en contraseña)
  • Una cuenta de usuario con sudo o raíz privilegios

¿Qué está causando la denegación del permiso SSH (publickey,gssapi-keyex,gssapi-with-mic)?

Aparece el error Permiso SSH denegado al intentar acceder a un servidor mediante SSH:

Permission denied (publickey,gssapi-keyex,gssapi-with-mic)

Después de la declaración Permiso denegado, el paréntesis contiene los métodos de autenticación intentados que fallaron al iniciarse la conexión. El error sugiere que la clave pública es el problema, lo cual es engañoso.

Una de las razones del error puede ser sshd_config , el archivo que contiene la configuración del servidor SSH. La otra posibilidad es que las authorized_keys El archivo tiene permisos insuficientes. Este archivo contiene la lista de claves públicas para los clientes autorizados a SSH en el servidor. En consecuencia, la incapacidad del sistema para leer el archivo da como resultado el error Permiso denegado.

Cómo reparar el permiso SSH denegado

Ambas soluciones contienen pasos que debe realizar en el lado del servidor. Comience abriendo la terminal en su servidor y continúe con una de las soluciones a continuación.

Solución 1:habilite la autenticación de contraseña

Si desea utilizar una contraseña para acceder al servidor SSH, una solución para corregir el error Permiso denegado es habilitar el inicio de sesión con contraseña en sshd_config archivo.

Para hacer esto, abra el archivo en un editor de texto. Este ejemplo usa el editor nano:

sudo nano /etc/ssh/sshd_config

En el archivo, busque PasswordAuthentication línea y asegúrese de que termine con yes .

Encuentra la ChallengeResponseAuthentication opción y desactívela agregando no .

Si las líneas están comentadas, elimine el signo de almohadilla # para descomentarlos.

Guarde el archivo y salga.

Reinicie el servicio SSH escribiendo el siguiente comando:

sudo systemctl restart sshd

Solución 2:cambiar los permisos del sistema de archivos

No se recomienda utilizar el inicio de sesión basado en contraseña como método de autenticación SSH debido a problemas de seguridad. Por lo tanto, la siguiente solución puede ser preferible ya que soluciona los problemas del método de autenticación de clave pública.

Primero, abra el sshd_config archivo usando un editor de texto:

sudo nano /etc/ssh/sshd_config

En el archivo, asegúrese de que las siguientes opciones estén configuradas de la siguiente manera:

PermitRootLogin no
PubkeyAuthentication yes

Comente las opciones relacionadas con GSSAPI agregando el signo de almohadilla al principio de la línea:

#GSSAPIAuthentication yes
#GSSAPICleanupCredentials no

Además, asegúrese de que UsePAM la línea está establecida en yes :

UsePAM yes

Guarde el archivo y reinicie el servicio sshd:

systemctl restart sshd

Ahora navegue a su carpeta de inicio y verifique los permisos:

ls -ld

Si sus permisos de propietario no están configurados para leer, escribir y ejecutar (drwx------ ), use el comando chmod para cambiarlos:

chmod 0700 /home/[your-username]

Ahora ve a .ssh carpeta y vuelva a comprobar los permisos:

ls -ld

Este directorio también debe tener permisos de lectura, escritura y ejecución para el propietario del archivo. Para aplicarlos, use chmod de nuevo:

chmod 0700 /home/your_home/.ssh

El .ssh la carpeta contiene las authorized_keys expediente. Verifique sus permisos con:

ls -ld authorized_keys

El propietario del archivo debe tener permisos de lectura y escritura. Para establecerlos, utilice:

chmod 0600 /home/[username]/.ssh/authorized_keys

Ahora intente iniciar sesión con el par de claves nuevamente. El siguiente resultado muestra un intento de inicio de sesión exitoso.


Linux
  1. Cómo aumentar el tiempo de espera de la conexión SSH

  2. Cómo solucionar el error – ModSecurity:acceso denegado con el código 44 [Apache]

  3. Ssh:¿cómo evitar que Ssh pida permiso?

  4. Arreglar el error SSH de permiso denegado (clave pública) en Linux

  5. ¿Cómo usar chmod para cambiar el permiso del archivo?

Cómo crear un servidor de archivos personal con SSH en Linux

Cómo solucionar el error No tienes permiso para acceder…

Cómo enumerar inicios de sesión SSH fallidos en Linux

Cómo corregir el error de conversión con Calibre

Permiso de montaje CIFS denegado en Linux - ¡Arreglado!

¿'Permiso denegado' a un archivo que poseo?