web-dev-qa-db-ja.com

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

Sudoを使用しない限り、コンピューター(OS X)からRaspberry Pi(ubuntu mate)にSSH接続できません。認証にパブリック/プライベートキーペアを使用しています。

適切な公開鍵がRaspberryPiの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).

ls:

-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
3
IMerin

おそらくssh-copy-idを実行したときにSudoを実行することにより、rootのsshキーを共有した可能性があります。 usernameの公開鍵が宛先のauthorized_keysにもあることを確認してください

1
Eric Renouf

ここで切断があるようです。あなたはauthorized_usersと言い続けます。他の人はauthorized_keysと言い続けます。ユーザーの公開鍵は、.ssh/authorized_usersではなく.ssh/authorized_keysというファイルのユーザーのホームディレクトリに配置されます。 sshはrootに対して機能しているため、〜root/.sshのディレクトリを調べて、〜user_name/.sshのディレクトリを同じように見せることができます。ただし、もちろん、キーはそのユーザーのキーになります。 、root用ではありません。

1
froth