ssh-copy-id выполнен успешно, но все еще требуется ввести пароль

ssh-copy-id выполнен успешно, но все еще требуется ввести пароль
  1. Мне это ssh-copy-id root@c199уже удавалось.
  2. Я могу войти ssh root@c199без запроса пароля.
  3. Я хочу автоматически входить в систему под другим пользователем ufo (на удаленной машине есть этот пользователь)
  4. ssh-copy-id ufo@c199 попросите меня ввести пароль,

    /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
    /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
    ufo@c199's password:
    
    Number of key(s) added: 1
    
    Now try logging into the machine, with:   "ssh 'ufo@c199'"
    and check to make sure that only the key(s) you wanted were added.
    
  5. Но вход в систему ssh ufo@c199по-прежнему осуществляется с помощью ввода пароля.


Я пытаюсь войти в удаленный CentOS на msys2 (на Windows) через SSH, я обнаружил, что там много одинаковых строк, например:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs7RTfvn83Rxdmvgfh+F4kUlM5FzIUb9rRHaqq11xKIW1gztn/+G4tr+OWl4o6GTW2Z361hIi
ugy8DPtMATN66nTTDUYO0sSvw2BrQfDY4iIENdLpkkHO8KQVGpQE+8tDkaZfD6EQLVtl0uvDE3D77tfcnBLODXgZPQsUSlssMi+pxDbSVjjKgrP
hM1G/L9OTrEHKWDhF+ZBgY1RuLl7ZEdoATbhJaK4FFb9hNn/2CSibVfLts8HJGYQXIQRX/RBzaDZp47sKZvq302ewkkVorNY+c9mmoze6mi8Ip2
zEQOMi6S9zM/yRiD0XZrbmzYfNkoXA03WTmMR/DynVvX2nV /c/Users/xxxx/.ssh/id_rsa

в centos's /home/ufo/.ssh/authorized_keys,

Я изменил права доступа к папке пользователя .ssh на 700, а к файлу authorized_keys на 644.

Тот же ключ SSH, ssh root@c199вход без подсказок, но ssh ufo@c199запрос пароля...


ОБНОВЛЯТЬ

ssh ufo@c199 -vvвыход:

....
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:zmCg5vHhBAMd5P4ei82+KsVg072KXbC63C44P0w3zbU
debug1: Host 'c199' is known and matches the ECDSA host key.
debug1: Found key in /c/Users/xxxxx/.ssh/known_hosts:35
debug2: set_newkeys: mode 1
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug2: set_newkeys: mode 0
debug1: rekey after 134217728 blocks
debug2: key: /c/Users/xxxxx/.ssh/id_rsa (0x60006bec0), agent
debug2: key: /c/Users/xxxxx/.ssh/id_dsa (0x0)
debug2: key: /c/Users/xxxxx/.ssh/id_ecdsa (0x0)
debug2: key: /c/Users/xxxxx/.ssh/id_ed25519 (0x0)
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /c/Users/xxxxx/.ssh/id_rsa
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Trying private key: /c/Users/xxxxx/.ssh/id_dsa
debug1: Trying private key: /c/Users/xxxxx/.ssh/id_ecdsa
debug1: Trying private key: /c/Users/xxxxx/.ssh/id_ed25519
debug2: we did not send a packet, disable method
debug1: Next authentication method: password

решение1

Благодаряhttps://unix.stackexchange.com/a/55481/106419, который рассказал мне, как отлаживать ssh.

Чтобы включить отладку ssh и посмотреть, что произойдет

systemctl stop sshd
/usr/sbin/sshd -d -p 22

Я нашел:

Authentication refused: bad ownership or modes for directory /home/ufo

Все ребята только и говорили:

  • /home/ufo/.sshПраво собственности верно 700
  • /home/ufo/.ssh/authorized_keysПраво собственности верное 600/644

Но sshd все равно проверяет домашнюю папку пользователя!!! Никто об этом не упомянул!

sudo chmod 700 /home/ufoрешите эту проблему.


Краткое содержание:

Вам необходимо убедиться:

  • /home/ufoвладение 700
  • /home/ufo/.sshвладение 700
  • /home/ufo/.ssh/authorized_keys владение 600

измените ufo на имя вашей домашней папки

решение2

sshd_configМне пришлось добавить в свой файл следующее :

PubkeyAcceptedKeyTypes=+ssh-dss

затем перезапустите sshd.

решение3

Видимо, вы не внесли запись в файл authorized_keys пользователя ufo...или права доступа к файлам/каталогам ~ufo/.ssh неверны.

решение4

Это еще одно решение в случае, если вы не можете получить доступ или изменить sshd_config, как предложил millican в своем ответе. Решение заключается в создании нового ключа SSH с использованием алгоритма ED25519:

ssh-keygen -t ed25519 -C "[email protected]"

как объясненоздесь. Это решило мою проблему, вызванную тем, что алгоритм хэширования RSA SHA-1 устарел.

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