SSH продолжает запрашивать мой пароль, если я использую ключевой файл, отличный от файла по умолчанию

SSH продолжает запрашивать мой пароль, если я использую ключевой файл, отличный от файла по умолчанию

У меня есть ключевой файл с именем KEY, в котором есть KEYи KEY.pub. Я загружаю публикацию в authorized_keys, и добавляю частную с помощью

ssh-add /home/user/.ssh/KEY

Но когда я пытаюсь подключиться , он постоянно запрашивает у меня пароль.ssh [email protected]

Если я сгенерирую ключ ssh-keygenи оставлю имя ключа по умолчанию, загрузив публичный и загрузив частный, этонезапросить пароль.

В чем может быть проблема?

решение1

С помощью вы можете получить вывод отладки, и он, вероятно, скажет вам, что не может пройти аутентификацию с (файл ключей ssh ​​по умолчанию). Ответ заключается в том, чтобы указать ssh, какой ключ использовать:ssh -vvv [email protected]~/.ssh/id_rsa

ssh -i /home/user/.ssh/KEY [email protected]

Вы также можете добавить свой ключевой файл для каждого хоста в свой .ssh/config, тогда вам останется только ввести данные ssh host.com, и пользователь/ключ будут выбраны автоматически.

Пример записи для .ssh/config(Более подробную информацию см. здесь man ssh_config):

Host mysshserver ssh.host.com
HostName ssh.host.com
User myusername
IdentityFile ~/.ssh/mykeyfile


Объяснение ключевых файлов из man ssh:

 -i identity_file
             Selects a file from which the identity (private key) for RSA or
             DSA authentication is read.  The default is ~/.ssh/identity for
             protocol version 1, and ~/.ssh/id_rsa and ~/.ssh/id_dsa for pro‐
             tocol version 2.  Identity files may also be specified on a per-
             host basis in the configuration file.  It is possible to have
             multiple -i options (and multiple identities specified in config‐
             uration files).

решение2

Чтобы правильно настроить файлы ключей (Какздесь), обратите внимание на следующее:

Если у вашего хост- .sshкаталога и файлов нет нужных прав доступа И/ИЛИ у вашего удаленного домашнего каталога пользователя нет нужных прав доступа, ssh будет продолжать запрашивать пароль, хотя и найдет файл ключа.

Вы можете увидеть, предлагается ли ваш ключевой файл/файлы с помощьюssh -vvv user@host

Пример вывода:

debug1: Offering DSA public key: /Users/<user>/.ssh/id_dsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password

Проверьте как домашний каталог удаленного пользователя, так и .sshразрешения удаленного каталога.

Например, разрешения должны быть такими:

$ls -ld .ssh
drwx------ 2 <owner> <group> 4096 2011-12-29 20:39 .ssh

$ls -ld ~/
drwxr-xr-x 28 <owner> <group> 4096 2011-12-29 20:15 /home/<user>/ 

Связанный контент