3

Почему это происходит?

$ 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

1 ответ1

6

Пожалуйста, проверьте файл конфигурации sshd, если включена аутентификация с открытым ключом

поиск в /etc /ssh /sshd_config для

#PubkeyAuthentication yes

Если это закомментировано, удалите начальную '#'. если установлено «нет», измените его на «да»

Как уже упоминалось @Darius, пожалуйста, проверьте настройку AuthorizedKeysFile Должно быть закомментировано поведение по умолчанию. Затем создайте файл authorized_keys в ~/.ssh/ и добавить публичный ключ строки в этом файле. Как это сделать, описано здесь в документации Debian.

Позаботьтесь о разрешениях, установленных в папке ~/.ssh/ в вашем домашнем каталоге. Только владелец должен иметь разрешение на чтение / запись.

chmod -R go-xwr ~/.ssh

можно исправить разрешения

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .