SSH no permite el inicio de sesión con clave pública para usuarios que no sean root

SSH no permite el inicio de sesión con clave pública para usuarios que no sean root

Tengo una instalación de Ubuntu 22.04.1 y estoy usando autenticación de clave pública + clave privada para iniciar sesión en ssh.

Así que aquí están los pasos que tomé.

  1. Primero creé un par de claves en mi mac.
  2. Luego fui al servidor y lo edité /etc/ssh/sshd_configpara agregar un nuevo puerto para el inicio de sesión ssh.
  3. Abrí ese puerto en el firewall (UFW) y cerré el 22 predeterminado.
  4. Hice una ssh-copy-id -i /path/to/public/key root@hostcopia de la clave pública en el servidor.
  5. Luego /etc/ssh/sshd_confignuevamente para no permitir la autenticación de contraseña
  6. Reinicié sshd y probé la conexión con root. La conexión funcionó bien.
  7. Volví a habilitar la autenticación de contraseña y probé ssh con uno de mis usuarios de sudo (no root) usando usuario + contraseña en el nuevo puerto. La conexión funcionó bien.
  8. Hice una ssh-copy-id -i /path/to/public/key user@hostcopia de la clave pública en el servidor en .ssh/authorised_keys para ese usuario en particular. El procedimiento no arrojó errores e informó que se copió una clave. Inicié sesión en el servidor y verifiqué dos veces el archivo Authorised_keys y la clave estaba allí.
  9. Luego /etc/ssh/sshd_confignuevamente para no permitir la autenticación de contraseña
  10. Reinicié sshd y probé la conexión con el usuario.Aquí es donde tengo un problemaEl usuario no puede iniciar sesión. Cuando lo intento, aparece un error: Permission denied (publickey). Cuando vuelvo a habilitar la autenticación de contraseña, puedo conectarme bien pero aún sin las claves. Sólo una conexión estándar de nombre de usuario y contraseña.

El par de claves se prueba ya que uso exactamente la misma combinación para el usuario root. Quiero desactivar Permitrootlogin pero no puedo. ¿Algunas ideas?

Editar: Seguí el consejo de @Jos e hice un inicio de sesión detallado usando el usuario raíz y uno usando. Aquí están los 2 resultados. Filtré toda la información y claves confidenciales, IP, etc. y convertí los resultados en capturas de pantalla:

Conexión de depuración raíz usando detallado

y el usuario (que no logra conectarse):

Conexión de depuración de usuario usando detallado

Editar: @steeldriver sugirió hacer un nombrei para verificar si los archivos autorizados_keys son demasiado permisivos. Aquí está el resultado:

| => namei -l ~/.ssh/authorized_keys
f: /home/spitixorismesiti/.ssh/authorized_keys
drwxr-xr-x root             root             /
drwxr-xr-x root             root             home
drwxrwx--- spitixorismesiti spitixorismesiti spitixorismesiti
drwx------ spitixorismesiti spitixorismesiti .ssh
-rw------- spitixorismesiti spitixorismesiti authorized_keys

información relacionada