Git over SSH дословно использует вывод канала SSH. Если эти выходные данные содержат какие-либо ложные данные, не относящиеся к git, команда git не сможет их проанализировать и прекратит работу с неясным сообщением об ошибке. Это может произойти, если у вас есть пользовательский скрипт, который отображает данные, например, когда вы подключаетесь, или если что-то выдает сообщение об ошибке, не понятное git.
Вы заметите, что «Unab» выглядит как начало «Unable», предположительно сообщение об ошибке, предназначенное для человека, а не для git.
Что происходит, когда вы запускаете следующую команду?
ssh gregory@hostname git-upload-pack '/path_to_your_repo'
Теоретически вы должны получить сообщение об ошибке, начинающееся с «Unable». Например, «Невозможно найти git-upload-pack». В этом случае исправлением будет добавление git-upload-pack к вашему пути!