key_load_public: format non valide avec scp ou git clone sur Ubuntu 15.10

16

Après une nouvelle installation d'Ubuntu 15.10, lors de l'utilisation de scpou git clone, j'obtiens l'avertissement suivant (la commande elle-même n'échoue pas):key_load_public: invalid format

Comment puis-je me débarrasser de cet avertissement?

Mise à jour: Ceci est la sortie 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
la source
Il devrait y avoir plus que juste unkey_load_public: invalid format
AB
S'il vous plaît, postez le journal complet.
Jakuje
@Jakuje Ajouté la sortie commentée à la question.
Alexander Zeitler
Je voulais dire plutôt journal prolixe de scp, comme scp -vvv file remote:fileou à peu près pour voir le contexte de ssh
Jakuje
@Jakuje Mis à jour à nouveau - est-ce suffisant?
Alexander Zeitler

Réponses:

33

Vérifiez le fichier /Users/alexzeitler/.ssh/id_rsa. Il y a quoi Comment est-il arrivé là?

Ce devrait être votre clé RSA privée, n'est-ce pas? Et y a-t-il quelque chose /Users/alexzeitler/.ssh/id_rsa.pub? Est-ce que la clé publique est valide?

Si vous n'utilisez pas ces clés, supprimez-les et le message disparaîtra. Si vous les utilisez de manière différente, déplacez-les ailleurs. Les mêmes s'ils sont dans un format différent.

La partie publique est probablement corrompue, vous pouvez donc la recréer à partir de la partie privée en utilisant cette commande:

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

possibilité de hostkeys

L'autre possibilité est que le client tente de lire les clés publiques du serveur HostBasedAuthentication. Ne l'avez-vous pas autorisé à entrer /etc/ssh/ssh_config?

Ce serait un de ces fichiers manquant ou corrompu:

/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

Votre sshdserveur ne se plaint pas?

Jakuje
la source
Les clés publique et privée sont valables si vous les utilisez par exemple avec git + GitHub
Alexander Zeitler
édité la réponse. Les clés du serveur peuvent également être la cause dans certains cas.
Jakuje
2
Celui-là était là avant. Je crois que la partie publique est corrompue en quelque sorte. Vous pouvez essayer de régénérer une nouvelle clé publique à partir de l'utilisation privée ssh-keygen -y ~/.ssh/id_rsa.
Jakuje
3
recréer la clé publique à partir du privé, corrigez-la - merci pour votre aide et votre patience! Veuillez mettre à jour la réponse pour que je puisse la marquer comme réponse.
Alexander Zeitler
5
Voici la commande que j'ai utilisée:ssh-keygen -f ~/.ssh/id_rsa -y > ~/.ssh/id_rsa.pub
Alexander Zeitler