¿Por qué debo usar sudo para que funcione la autenticación de clave pública ssh?

¿Por qué debo usar sudo para que funcione la autenticación de clave pública ssh?

No puedo hacer ssh desde mi computadora (OS X) a mi raspberry pi (ubuntu mate), a menos que use sudo. Estoy usando un par de claves pública/privada para autenticarme.

La clave pública apropiada se agrega al archivo autorizado_usuarios en Raspberry Pi.

Los permisos para mi directorio .ssh son 700. Los permisos para mis archivos clave son 600.

Este es el resultado de ssh con el indicador -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).

es:

-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

Respuesta1

Probablemente compartiste la clave ssh de root, tal vez al hacerlo sudocuando lo hiciste ssh-copy-id. Asegúrese de que usernamela clave pública también esté en el authorized_keysdestino

Respuesta2

Parece haber una desconexión aquí. Sigues diciendo usuarios_autorizados; otros siguen diciendo claves_autorizadas. La clave pública de un usuario se coloca en el directorio de inicio del usuario en un archivo llamado .ssh/authorized_keys, no .ssh/authorized_users. Dado que ssh funciona para root, es posible que desees mirar el directorio de ~root/.ssh y hacer que el directorio de ~user_name/.ssh tenga el mismo aspecto, excepto, por supuesto, que las claves serán las de ese usuario. , no para root.

información relacionada