key_load_public: formato inválido com o clone scp ou git no Ubuntu 15.10

17

Após uma nova instalação do Ubuntu 15.10, ao usar scpor git clone, recebo o seguinte aviso (o comando em si não falha):key_load_public: invalid format

Como posso me livrar desse aviso?

Atualização: Esta é a saída de scp -vvv:

OpenSSH_6.9p1 Ubuntu-2, OpenSSL 1.0.2d 9 Jul 2015
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to ... [...] port 22.
debug1: Connection established.
key_load_public: invalid format
debug1: identity file /home/alexzeitler/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/alexzeitler/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/alexzeitler/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/alexzeitler/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/alexzeitler/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/alexzeitler/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/alexzeitler/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/alexzeitler/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.9p1 Ubuntu-2
Alexander Zeitler
fonte
Deve haver mais do que apenas umkey_load_public: invalid format
AB
por favor, publique todo o log detalhado.
Jakuje 17/11/2015
@Jakuje Adicionada a saída detalhada à pergunta.
Alexander Zeitler
Eu quis dizer, em vez detalhado log de scp, como scp -vvv file remote:fileou assim para ver o contexto de ssh
Jakuje
@Jakuje Atualizou novamente - isso é suficiente?
Alexander Zeitler

Respostas:

33

Verifique o arquivo /Users/alexzeitler/.ssh/id_rsa. O que é aquilo? Como chegou lá?

Deve ser sua chave RSA privada, não é? E há algo dentro /Users/alexzeitler/.ssh/id_rsa.pub? É chave pública válida?

Se você não usar essas chaves, remova-as e a mensagem desaparecerá. Se você os estiver usando de maneira diferente, mova-os para outro lugar. O mesmo se eles estiverem em formato diferente.

A parte pública provavelmente está corrompida; portanto, você pode recriá-la da parte privada usando este comando:

ssh-keygen -f ~/.ssh/id_rsa -y > ~/.ssh/id_rsa.pub

possibilidade de hostkeys

A outra possibilidade é que o cliente esteja tentando ler as chaves públicas do servidor HostBasedAuthentication. Você não tem permissão para entrar /etc/ssh/ssh_config?

Seria um desses arquivos ausentes ou corrompidos:

/etc/ssh/ssh_host_ecdsa_key.pub
/etc/ssh/ssh_host_ed25519_key.pub
/etc/ssh/ssh_host_dsa_key.pub
/etc/ssh/ssh_host_rsa_key.pub

Seu sshdservidor não está reclamando?

Jakuje
fonte
As chaves públicas e privadas são válidos quando por exemplo, usá-los com git + GitHub
Alexander Zeitler
editou a resposta. As chaves do servidor também podem ser a causa em alguns casos.
Jakuje 19/11/2015
2
Aquele estava lá antes. Eu acredito que a parte pública está corrompida de alguma forma. Você pode tentar regenerar a nova chave pública usando o privado ssh-keygen -y ~/.ssh/id_rsa.
Jakuje 19/11/2015
3
recriar a chave pública do privado a corrigiu - obrigado por sua ajuda e paciência! Atualize a resposta para que eu possa marcá-la como resposta.
Alexander Zeitler
5
Entre o comando que usei foi: #ssh-keygen -f ~/.ssh/id_rsa -y > ~/.ssh/id_rsa.pub
Alexander Zeitler