SSH 公開鍵認証を機能させるにはなぜ sudo を使用する必要があるのですか?

SSH 公開鍵認証を機能させるにはなぜ sudo を使用する必要があるのですか?

sudo を使用しない限り、コンピューター (OS X) から Raspberry Pi (ubuntu mate) に SSH 接続できません。認証には公開/秘密キーのペアを使用しています。

適切な公開キーが、Raspberry Pi の authorized_users ファイルに追加されます。

.ssh ディレクトリの権限は 700 です。キー ファイルの権限は 600 です。

これは -v フラグを指定した ssh からの出力です。

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

おそらく、sudoを実行したときにルートの SSH キーを共有したのでしょう。の公開キーが宛先の にも含まれているssh-copy-idことを確認してください。usernameauthorized_keys

答え2

ここには矛盾があるようです。あなたは authorized_users と言い続けていますが、他の人は authorized_keys と言い続けています。ユーザーの公開鍵は、.ssh/authorized_users ではなく、.ssh/authorized_keys というファイルでユーザーのホーム ディレクトリに配置されます。ssh は root に対して動作しているので、~root/.ssh のディレクトリを確認し、~user_name/.ssh のディレクトリを同じにするとよいかもしれません。ただし、もちろん、鍵は root ではなく、そのユーザーのものになります。

関連情報