Почему для работы аутентификации по открытому ключу SSH необходимо использовать sudo?

Почему для работы аутентификации по открытому ключу SSH необходимо использовать sudo?

Я не могу подключиться по ssh с моего компьютера (OS X) к моему raspberry pi (ubuntu mate), если я не использую sudo. Я использую пару открытого/закрытого ключей для аутентификации.

Соответствующий открытый ключ добавляется в файл authorized_users на Raspberry Pi.

Права доступа к моему каталогу .ssh — 700. Права доступа к моим файлам ключей — 600.

Это вывод ssh с флагом -v:

debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/username/.ssh/id_rsa
debug1: Authentications that can continue: publickey 
debug1: Trying private key: /Users/username/.ssh/id_dsa
debug1: No more authentication methods to try. Permission denied (publickey).

ЛС:

-rw------- 1 username staff 3326 May 18 23:24 id_rsa 
-rw-r--r-- 1 username staff 752 May 18 23:24 id_rsa.pub 

.ssh:

drwx------  11 username   staff    374 May 19 21:49 .ssh

решение1

Вы, вероятно, поделились ssh-ключом root, возможно, сделав это, sudoкогда вы сделали ssh-copy-id. Убедитесь, что usernameоткрытый ключ 's также находится в authorized_keysна месте назначения

решение2

Кажется, здесь есть разрыв. Вы продолжаете говорить authorized_users; другие продолжают говорить authorized_keys. Открытый ключ пользователя помещается в домашний каталог пользователя в файле с именем .ssh/authorized_keys, а не .ssh/authorized_users. Поскольку ssh работает для root, вы можете захотеть посмотреть на каталог для ~root/.ssh и сделать каталог для ~user_name/.ssh таким же — за исключением, конечно, того, что ключи будут для этого пользователя, а не для root.

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