- Eu
ssh-copy-id root@c199
consegui antes. - Eu posso fazer login
ssh root@c199
sem solicitação de senha - Quero fazer o login automático de outro usuário
ufo
(a máquina remota tem esse usuário) ssh-copy-id ufo@c199
pergunte-me digite a senha,/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.
Mas o login
ssh ufo@c199
ainda solicita a entrada de senha.
Eu tento fazer login remoto centos em msys2 (no Windows) por ssh , descobri que existem muitas linhas iguais como
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs7RTfvn83Rxdmvgfh+F4kUlM5FzIUb9rRHaqq11xKIW1gztn/+G4tr+OWl4o6GTW2Z361hIi
ugy8DPtMATN66nTTDUYO0sSvw2BrQfDY4iIENdLpkkHO8KQVGpQE+8tDkaZfD6EQLVtl0uvDE3D77tfcnBLODXgZPQsUSlssMi+pxDbSVjjKgrP
hM1G/L9OTrEHKWDhF+ZBgY1RuLl7ZEdoATbhJaK4FFb9hNn/2CSibVfLts8HJGYQXIQRX/RBzaDZp47sKZvq302ewkkVorNY+c9mmoze6mi8Ip2
zEQOMi6S9zM/yRiD0XZrbmzYfNkoXA03WTmMR/DynVvX2nV /c/Users/xxxx/.ssh/id_rsa
em centos /home/ufo/.ssh/authorized_keys
,
Alterei as permissões da pasta do usuário .ssh para 700 e o arquivo author_keys para 644 .
Mesma chave ssh, ssh root@c199
login sem ssh ufo@c199
prompt, mas entrada de senha rápida.
ATUALIZAR
ssh ufo@c199 -vv
resultado:
....
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
Obrigado a https://unix.stackexchange.com/a/55481/106419 , que me disse como depurar o ssh.
Para habilitar a depuração ssh para ver o que acontece
Eu encontrei:
Todos os caras apenas disseram:
/home/ufo/.ssh
propriedade está correta 700/home/ufo/.ssh/authorized_keys
propriedade está correta 600/644Mas o sshd ainda verifica a pasta pessoal do usuário !!! Ninguém mencionou isso!
sudo chmod 700 /home/ufo
Resolva esse problema.Resumo:
Você precisa garantir:
/home/ufo
propriedade é 700/home/ufo/.ssh
propriedade é 700/home/ufo/.ssh/authorized_keys
propriedade é 600mude o ufo para o nome da sua pasta pessoal
Eu tive que adicionar o seguinte ao meu arquivo sshd_config:
o reinício ssh
Aparentemente você não colocou uma entrada no arquivo author_keys do usuário ufo.....ou as permissões estão erradas nos arquivos/diretórios ~ufo/.ssh.
Certifique-se de adicionar sua chave pública ao seu diretório e não ao root ou a outros usuários.
Esta é outra solução caso você não consiga acessar ou modificar sshd_config conforme sugerido por milican em sua resposta. Uma solução é criar uma nova chave SSH usando o algoritmo ED25519:
conforme explicado aqui . Isso resolveu meu problema, causado pelo fato de que o algoritmo de hash RSA SHA-1 está obsoleto.