146 votes

Git à distance : Erreur : fatal : erreur de protocole : mauvais caractère de longueur de ligne : Unab

J'ai mis en place un serveur git et je veux maintenant pousser initialement mon repo depuis le client. J'ai utilisé git push origin master et j'obtiens ce message d'erreur :

fatal: protocol error: bad line length character: Unab

Je ne sais pas ce qui ne va pas. Je ne sais pas ce qu'est "Unab". J'ai essayé de redimensionner la coquille, mais c'est toujours "Unab". Je ne trouve pas de solution à ce message d'erreur.

J'ai configuré le serveur avec "authorized_keys" et SSH. (Je peux m'y connecter en utilisant SSH).

Il semble qu'il s'agisse d'un problème lié à git ?

BTW : Le serveur est installé dans une VM Windows 7.

0voto

Kevin Davis Points 92

Il pourrait s'agir d'un accès de sécurité sur votre machine. Utilisez-vous Pageant (qui est un agent putty) ?

0voto

Mohanakrrishna Points 55

Vous pouvez toujours avoir un lien http vers votre projet git. Vous pouvez l'utiliser à la place du lien ssh. C'est juste une option que vous avez

0voto

Philipp Klemeshov Points 138

J'ai eu le même problème (Windows 7). Essayez d'obtenir le repo par mot de passe. J'utilise Git Bash + Plink (variable d'environnement GIT_SSH) + Pageant. La suppression de GIT_SSH (temporaire) m'aide. Je ne sais pas pourquoi je ne peux pas utiliser le login by pass et le login avec RSA en même temps...

0voto

Tito Cheriachan Points 1432

Réponse tardive, mais j'espère qu'elle aidera quelqu'un. Si c'est une erreur de protocole, c'est que votre git local ne peut pas communiquer avec le git distant. Cela peut arriver si vous avez cloné le repo via ssh et que, quelque temps plus tard, vous avez perdu les clés du repo ou que votre agent ssh ne peut plus trouver ces clés.

Solution

  1. Générez une nouvelle clé et ajoutez-la à votre repo git ou configurez votre agent ssh pour charger les clés si vous avez toujours les clés avec vous et non avec quelqu'un d'autre ;)

  2. Une autre solution rapide consiste à se rendre sur votre .git et modifiez le fichier config du fichier [remote "origin"] url de git a http afin que les clés ssh ne soient pas nécessaires pour pousser et il reviendra à vous demander votre nom d'utilisateur et votre mot de passe.

    [remote "origin"]
    url = git@gitlab.*****.com:****/****.git
    fetch = +refs/heads/*:refs/remotes/origin/*

Passer à

    [remote "origin"]
    url = http://gitlab.*****.com/****/****.git
    fetch = +refs/heads/*:refs/remotes/origin/*

0voto

Hakaishin Points 454

Changer l'exécutable ssh de builtin à nativ sous settings/version control/git a fait l'affaire pour moi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X