web-dev-qa-db-ja.com

sshキーはリモートに存在しますが、それでもパスワードの入力を求められますか?

なんでこんなことが起こっているの?

$ ssh-copy-id me@server
/usr/local/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/local/bin/ssh-copy-id: WARNING: All keys were skipped because they already exist on the remote system.

$ ssh me@server
me@server's password:

sshは、キーがリモートサーバー(Debian)にすでに存在していると言っていても、パスワードの入力を求めています。

更新:.sshフォルダーの内容:

$ ls -al ~/.ssh
total 72
drwx------   9 me  staff   306 22 Apr 13:20 .
drwxr-xr-x+ 65 me  staff  2210 22 Apr 13:18 ..
-rwxr-xr-x   1 me  staff  1397 22 Apr 11:49 config
-rw-------   1 me  staff  1679 25 Feb 16:54 id_boot2docker
-rw-r--r--   1 me  staff   410 25 Feb 16:54 id_boot2docker.pub
-rw-------   1 me  staff  1675  6 Jan 14:00 id_rsa
-rwxr-xr-x   1 me  staff   381  6 Jan 14:00 id_rsa.pub
-rw-------   1 me  staff  4884 13 Mar 17:29 known_hosts
-rw-r--r--   1 me  staff  4492  9 Jan 11:33 known_hosts.old
3
Richard

公開鍵認証が有効になっている場合は、sshd構成ファイルを確認してください

/ etc/ssh/sshd_configで検索して

#PubkeyAuthentication yes

コメントアウトされている場合は、先頭の「#」を削除します。 「いいえ」に設定されている場合は「はい」に変更します

@Dariusが述べたように、設定AuthorizedKeysFileも確認してください。デフォルトの動作についてはコメントアウトする必要があります。次に、authorized_keys~/.ssh/ファイルを作成し、このファイルに公開鍵文字列を追加します。これを行う方法はここで説明されています Debianドキュメント

ホームディレクトリの~/.ssh/フォルダに設定されている権限に注意してください。所有者のみが読み取り/書き込み権限を持っている必要があります。

chmod -R go-xwr ~/.ssh

権限を修正できます

6