なんでこんなことが起こっているの?
$ 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
公開鍵認証が有効になっている場合は、sshd構成ファイルを確認してください
/ etc/ssh/sshd_configで検索して
#PubkeyAuthentication yes
コメントアウトされている場合は、先頭の「#」を削除します。 「いいえ」に設定されている場合は「はい」に変更します
@Dariusが述べたように、設定AuthorizedKeysFile
も確認してください。デフォルトの動作についてはコメントアウトする必要があります。次に、authorized_keys
に~/.ssh/
ファイルを作成し、このファイルに公開鍵文字列を追加します。これを行う方法はここで説明されています Debianドキュメント
ホームディレクトリの~/.ssh/
フォルダに設定されている権限に注意してください。所有者のみが読み取り/書き込み権限を持っている必要があります。
chmod -R go-xwr ~/.ssh
権限を修正できます