Git Remote: Ошибка: фатальная: ошибка протокола: неверный символ длины строки: Unab - PullRequest
97 голосов
/ 17 ноября 2011

Я настроил git-сервер и теперь хочу сначала перенести репо с клиента.Я использовал git push origin master и получаю это сообщение об ошибке:

fatal: protocol error: bad line length character: Unab

Я не знаю, что не так.Я не знаю, что такое "Унаб".Я попытался изменить размер оболочки, но это все еще "Unab".Я не могу найти решение для этого сообщения об ошибке.

Я установил сервер с «авторизованными ключами» и SSH.(Я могу подключиться к нему, используя SSH.)

Вроде бы проблема с мерзавцем?

Кстати: сервер настроен на Windows 7 VM

Ответы [ 30 ]

3 голосов
/ 10 января 2017

Для меня это было потому, что я недавно добавил

RequestTTY force

в .ssh / config

комментируя это позволило ему работать

3 голосов
/ 30 июля 2013

Проверьте файлы автозагрузки в учетной записи, используемой для подключения к удаленному компьютеру, на предмет «эхо».Для оболочки Bash это будут ваши .bashrc, .bash_profile и т. Д. Эдвард Томсон прав в своем ответе, но я столкнулся с особой проблемой, когда при входе на сервер через ssh появляется некоторая распечатка.Git получит первые четыре байта этого котла и выдаст эту ошибку.Теперь в этом конкретном случае я собираюсь предположить, что «Unab» на самом деле является работой «Unable ...», что, вероятно, указывает на то, что на хосте Git что-то не так.

2 голосов
/ 13 октября 2017

У меня была такая же ошибка "fatal: protocol error: bad line length character: shmi" Где shmi - это имя пользователя в моем случае.Я переключил SSH с PuTTY на OpenSSH в "Git Extensions->Settings->SSH".Это помогло.

2 голосов
/ 16 мая 2017

В моем случае проблема была в 32-битной Putty и pageant.exe - она ​​не может связаться с 64-битной TortoisePlink.exe.Замена 32-битной Putty 64-битной версией решила проблему.

1 голос
/ 20 сентября 2017

Для меня добавление тех же данных хоста в Putty с закрытым ключом (конвертируемое с puttygen) работало.Никакие команды git bash после этого не имели проблем.

1 голос
/ 15 июня 2017

Git не запрашивает пароль и завершает работу с похожим загадочным сообщением «фатально: ошибка протокола: неверный символ длины строки: пользователь» , если у вас нет настройки аутентификации с помощью личного ключа .

https://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on-a-linux-server сообщает, как указать открытый ключ на сервере. В основном добавьте открытый ключ в ~ / .ssh / authorized_keys или ~ / .ssh / авторизованный_keys2

Мне пришлось немного потрудиться над тем, как предоставить закрытый ключ для Git Bash на компьютере с Windows. Ответ Дэна Макклейна в https://serverfault.com/questions/194567/how-do-i-tell-git-for-windows-where-to-find-my-private-rsa-key/382801#382801 описывает это. Одно из добавлений к его ответу, в моем случае файл с секретным ключом должен был называться id_rsa.pub

1 голос
/ 21 февраля 2019

Если вы используете Putty.Затем убедитесь, что Pageant запущен, а ваш закрытый ключ загружен в Pageant (щелкните правой кнопкой мыши значок Pageant на панели задач и выберите «Просмотреть ключи» в всплывающем меню).

В противном случае, когда вы это делаетев cmd.exe:

git clone ssh://name@host:/path/to/git/repo.git

вы получаете это сообщение «fatal: error protocol: недопустимый символ длины строки:»

1 голос
/ 06 апреля 2013

У меня была та же проблема, что и у Кристера Фернстрома. В моем случае это было сообщение, которое я поместил в свой .bashrc, которое напоминает мне сделать резервную копию, если я не сделал ее за пару дней.

1 голос
/ 16 апреля 2015

Следующее может помочь кому-то: При попытке клонировать проект на моем экземпляре AWS EC2 я получил следующую ошибку:

Cloning into 'AWSbareRepo'...
fatal: protocol error: bad line length character: Plea

Это было вызвано попыткой использовать ssh как root вместо EC2-USER. если вы на самом деле ssh без git clone ... вы увидите сообщение об ошибке в виде сообщения "Пожалуйста, войдите с помощью ec2-user" Как только я сделал клон git как пользователь ec2, это было хорошо.

1 голос
/ 08 июня 2015

Время от времени я также сталкиваюсь с этой ошибкой, но когда это происходит, это означает, что моя ветвь не обновлена, поэтому я должен сделать git pull origin <current_branch>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...