Por que devo usar o sudo para que a autenticação de chave pública ssh funcione?

Por que devo usar o sudo para que a autenticação de chave pública ssh funcione?

Não consigo fazer ssh do meu computador (OS X) para o meu raspberry pi (ubuntu mate), a menos que eu use o sudo. Estou usando um par de chaves pública/privada para autenticar.

A chave pública apropriada é adicionada ao arquivoauthorized_users no Raspberry Pi.

As permissões para meu diretório .ssh são 700. As permissões para meus arquivos principais são 600.

Esta é a saída do ssh com sinalizador -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).

eu:

-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

Responder1

Você provavelmente compartilhou a chave ssh do root, talvez fazendo sudoquando o fez ssh-copy-id. Certifique-se usernamede que a chave pública de também esteja no authorized_keysdestino

Responder2

Parece haver uma desconexão aqui. Você continua dizendo usuários_autorizados; outros continuam dizendo chaves_autorizadas. A chave pública de um usuário é colocada no diretório inicial do usuário em um arquivo chamado .ssh/authorized_keys, não .ssh/authorized_users. Como o ssh está funcionando para root, você pode querer olhar o diretório para ~root/.ssh e fazer com que o diretório para ~user_name/.ssh tenha a mesma aparência - exceto, é claro, que as chaves serão as mesmas para esse usuário , não para raiz.

informação relacionada