Estou usando a autenticação de chave pública nos meus servidores há algum tempo, mas estou com problemas em um novo 'cliente' tentando conectar-se ao github . Eu li muitos tópicos para verificar se minhas permissões estão configuradas corretamente e geramos uma nova chave para o github. O problema que estou enfrentando é que o ssh está solicitando minha senha, mesmo que eu não tenha definido uma senha. Eu até refiz a chave para ter 100% de certeza de que não inseri uma senha.
ssh -vvv fornece a seguinte saída relacionada:
debug1: Offering public key: /home/me/.ssh/github.pub
debug2: we sent a publickey packet, wait for reply
debug3: Wrote 368 bytes for a total of 1495
debug1: Remote: Forced command: gerve mygithubusername c3:71:db:34:98:30:6d:c2:ca:d9:51:a8:c6:1b:fc:f7
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug2: input_userauth_pk_ok: fp c3:71:db:34:98:30:6d:c2:ca:d9:51:a8:c6:1b:fc:f7
debug3: sign_and_send_pubkey
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Enter passphrase for key '/home/me/.ssh/github.pub':
Eu procurei descobrir por que ele está dizendo que PEM_read_PrivateKey falhou, mas não consigo encontrar uma solução.
Eu não uso um agente ou qualquer coisa. Eu configuro meu arquivo ~ / .ssh / config semelhante ao seguinte:
Host github
Host github.com
Hostname github.com
User git
PubkeyAuthentication yes
IdentityFile /home/me/.ssh/github.pub
Desde já, obrigado.
fonte
Respostas:
Quando você usa a
IdentityFile
opção no seu~/.ssh/config
apontador, você seleciona a chave privada e não a pública .De
man ssh_config
:Portanto, sua
~/.ssh/config
entrada deve se parecer com:fonte
Tivemos esse problema e foi um erro de recortar e colar. Um único
%
símbolo foi adicionado ao final do arquivo de chaves (então a última linha era-----END RSA PRIVATE KEY-----%
). Não havia informações de erro ou depuração ou qualquer outra coisa que sugerisse que a chave tinha o tamanho errado ou estava mal formatado, mas o ssh solicitou uma senha.fonte
No meu caso, o problema era que meu cliente SSH não suporta chaves ED25519. A solução é criar uma chave RSA e usá-la.
Esse problema ocorre com o OpenSSH <6,5 (execução
ssh -V
) e o PuTTY <0,68 .Isso pode ser visto na seguinte saída de
ssh -vvv
:O primeiro bloco descreve o que o cliente suporta e o segundo o que o servidor suporta . Como você pode ver, não há menção de 'curve25519' na metade superior, indicando que o cliente não suporta isso.
fonte
Na minha equipe, quando isso acontece, não há problema com nada localmente. A chave ssh do usuário e / ou o acesso não foram configurados corretamente no servidor ao qual estão se conectando (no nosso caso, uma plataforma de hospedagem). Por algum motivo, isso aciona um prompt para uma chave ssh inexistente.
fonte