SSH не позволяет входить в систему с открытым ключом для пользователей, отличных от root

SSH не позволяет входить в систему с открытым ключом для пользователей, отличных от root

У меня установлена ​​Ubuntu 22.04.1, и я использую аутентификацию по открытому ключу и закрытому ключу для входа в SSH.

Итак, вот шаги, которые я предпринял.

  1. Сначала я создал пару ключей на своем Mac.
  2. Затем я зашел на сервер и отредактировал /etc/ssh/sshd_config, чтобы добавить новый порт для входа по SSH.
  3. Открыл этот порт в брандмауэре (UFW) и закрыл порт по умолчанию 22.
  4. Я скопировал ssh-copy-id -i /path/to/public/key root@hostоткрытый ключ на сервер.
  5. Затем /etc/ssh/sshd_configеще раз, чтобы запретить аутентификацию по паролю
  6. Перезапустил sshd и проверил соединение с root. Соединение работало отлично.
  7. Я снова включил аутентификацию по паролю и протестировал ssh с одним из моих пользователей sudo (не root), используя user + password через новый порт. Соединение работало просто отлично.
  8. Я сделал an ssh-copy-id -i /path/to/public/key user@hostдля копирования открытого ключа на сервер в .ssh/authorised_keys для этого конкретного пользователя. Процедура не вернула никаких ошибок и сообщила, что один ключ был скопирован. Я вошел на сервер и дважды проверил файл authorised_keys, и ключ действительно был там.
  9. Затем /etc/ssh/sshd_configеще раз, чтобы запретить аутентификацию по паролю
  10. Перезапустил sshd и проверил соединение с пользователем.Вот тут у меня проблемаПользователь не может войти. Когда я пытаюсь, я получаю ошибку: Permission denied (publickey). Когда я снова включаю аутентификацию по паролю, я могу нормально подключиться, но все еще без ключей. Просто стандартное подключение по имени пользователя и паролю.

Пара ключей проверена, так как я использую точно такую ​​же комбинацию для пользователя root. Я хочу отключить Permitrootlogin, но не могу. Есть идеи?

Редактировать: Я последовал совету @Jos и сделал подробный вход с помощью root и один с помощью user. Вот 2 результата. Я отфильтровал всю конфиденциальную информацию и ключи, IP-адреса и т. д. и преобразовал результаты в скриншоты:

Отладка корневого соединения с использованием подробного

и пользователь (который не может подключиться):

Отладка соединения пользователя с использованием подробного

Редактировать: @steeldriver предложил сделать namei, чтобы проверить, не слишком ли разрешительны файлы authorized_keys. Вот вывод:

| => 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

Связанный контент