Почему это происходит?
$ 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
~/.ssh
папки?~/.ssh/authorized_keys
удаленному хосту локальныйid_rsa.pub
файл сгенерированного ключа.Ответы:
Пожалуйста, проверьте файл конфигурации sshd, если включена аутентификация с открытым ключом
поиск в / etc / ssh / sshd_config для
Если он закомментирован, удалите начальную «#». если он установлен на «нет», измените его на «да»
Как упомянул @Darius, пожалуйста, проверьте настройку.
AuthorizedKeysFile
Должно быть закомментировано поведение по умолчанию Затем создайтеauthorized_keys
файл~/.ssh/
и добавьте в него строку открытого ключа. Как это сделать, описано здесь в документации Debian.Позаботьтесь о разрешениях, установленных для
~/.ssh/
папки в вашем домашнем каталоге. Только владелец должен иметь разрешение на чтение / запись.можно исправить разрешения
источник