Git фатальный: удаленный конец повесил трубку
Итак, я думал, что наконец-то получил все настройки в Windows... затем столкнулся с этой проблемой.
Текущая настройка
URL: ssh://user @host: port/myapp.git
Уже запущен Putty - и может подключаться с использованием действительных ключей .ppk через прямую ~/.ssh/authorized_keys. В Git и TortoiseGIT - я установил для использования "plink.exe".
Шпатлевка отлично работает - никаких проблем - но когда я запускаю этот URL-адрес в bash, я получаю к Git клон (url)
фатальный: удаленный конец повесил ожидаемый
В терминале cygwin bash - работает "ssh user @host" - не работает никаких проблем.
Кто-нибудь предлагает что-нибудь?
Ответы
Ответ 1
Я выяснил, что использование ssh.exe из пакета Git работает каждый раз, в отличие от ssh, который поставляется с cygwin (по умолчанию).
Использование этой экспортируемой переменной, похоже, помогает; он медленнее (2x или более), но он более стабилен. Возьмите это как еще один способ обхода.
$export GIT_SSH =/cygdrive/c/Program\Files/ Git/bin/ssh.exe
FYI:
Эта версия Msysgit поставляется с OpenSSH 4.6p1, OpenSSL 0.9.8e. [работает]
Cygwin SSH - OpenSSH 5.5p1, OpenSSL 0.9.8n. [не работает]
Ответ 2
У меня была та же проблема с plink для git под окнами.
При запуске plink.exe -v [email protected] он начал показывать
Проецирование запущено. Запрос ключей.
Pageant имеет 1 SSH-2 клавиши
логин как: < < Проблема
Вместо
Проецирование запущено. Запрос ключей.
Pageant имеет 1 SSH-2 клавиши
Использование пользователя "xxx"
Чтобы решить эту проблему, я очистил записи и сеансы реестра
putty.exe -cleanup
После этого plink запустится заново и попросит довериться и снова сохранить хост, и с ним нет проблем!
Ответ 3
Попробуйте выполнить следующие шаги, возможно, что-то даст вам подсказку по вашей проблеме:
1. Запустите putty и после настройки имени/имени сервера/клавиш и т.д. сохранить эти параметры.
2. Запустите plink.exe или plinkw.exe, например plink.exe имя_пользователя @сервер, (он будет бросать вам какую-то информацию), чтобы увидеть, может ли plink подключиться к серверу.
3. Еще раз проверьте, что git знает, что он должен использовать plink, я бы сказал, со всеми VCS, что проблема людей чаще всего, за исключением того, что их ключи не настроены должным образом.
Обычно к настоящему времени большинство ваших проблем с ssh будут обнаружены. Теперь просто исправьте их.:)
Update:
Я думаю, что проблема у вас вызвана несколькими gits, которые вы установили. Для msysgit и cygwin git вам нужно будет установить переменную GIT_SSH. Это делается через "set GIT_SSH = c:\path\putty\plink.exe" или "экспортировать GIT_SSH =/your/path/putty/putty.exe" соответственно. Если вы также используете черепаху git, вам нужно найти "свойства" (или это настройки?) В этом меню и установить там ssh-клиент.
Кроме всего прочего, при указании URL-адреса git используйте имя входа и имя сервера, например. 'git clone ssh://[email protected]/your/path/repo.git Имена пользователей и серверов должны использоваться plink, а plink должен иметь возможность подключаться к серверу с этими аргументами, когда все эти требования все будет установлено.
Удачи.
Ответ 4
Если вы хотите попробовать cygwin openssh 5.4p1-1, который, похоже, работает для этого, в отличие от 5.5 или 5.6, вы можете использовать cygwin time machine зеркала. Запустите setup.exe с -X и добавьте зеркальный url, например:
ftp://www.fruitbat.org/pub/cygwin/circa/2010/05/20/230133
Будьте внимательны, чтобы не устанавливать слишком много, то есть базовые пакеты, из более старого зеркала, чем остальная часть вашей установки.
Ответ 5
У нас была та же проблема, и вот решение, как мы решили проблему:
сначала мы получили:
[email protected]:~$ git clone ssh://[email protected]/~repos/erotika.git/ erotika
Initialized empty Git repository in /home/zajdan/erotika/.git/
Password:
fatal: '/repos/erotika.git': unable to chdir or not a git archive
fatal: The remote end hung up unexpectedly
[email protected]:~$
Решение:
[email protected]:~$ git clone ssh://[email protected]/~/repos/erotika.git/ erotika
после тильды должен быть слэш!
Ответ 6
У меня точно такая же проблема.
Я не использую Putty (просто Cygwin).
Я использую Windows 7 Ultimate (полностью исправленный с этого момента).
Я только что установил Cygwin вчера.
Я убедился, что используются бинарные монтировки.
Если я скопирую репозиторий git на машину (через samba mount), я могу клонировать его, но когда я "git diff" после клонирования, есть куча "разных" файлов без различий, После "git status" не было выхода из "git diff". Это похоже на новинку, но я не могу понять, как это будет происходить. (У меня есть ignark в SHELLOPTS, но удаление это не исправляет.)
Я полностью в тупике.
Ответ 7
Проверьте версию openssh, которую вы используете в CygWin. Версия 5.5p1-1 (которая является последней на данный момент) дала мне ту же ошибку. Снижение до 5.4p1-1 устранило проблему.
Другим решением было бы использовать putty/plink вместо openssh.
Подробнее см. в этой теме: http://www.mail-archive.com/[email protected]/msg103752.html
Ответ 8
Я получаю сообщение: "удаленный конец gung-up, неожиданные EOF, индекс-пакет не удался" при клонировании git repo, но удалось обход этой проблемы с помощью copssh http://sourceforge.net/projects/sereds/files/Copssh
Основной причиной является пакет Cygwin openssh.
Я удалил оригинал openssh из Cygwin, установил copssh и установил переменную GIT_SSH в бинарные файлы copssh. После этого я просто добавил двоичные файлы copssh в PATH, и теперь я использую copssh вместо openssh - нет никакой разницы.
Все работает отлично, и проблема больше не появляется.
Другим решением является использование пакета mSysGit.
Ответ 9
Я считаю, что реальной проблемой является то, что cygwin ssh ищет .ssh в /home/name/.ssh и mingw git ssh ищет .ssh в c:/user/name/.ssh
Скорее всего, ваши ключи находятся в одном и только из этих каталогов.
Вы можете попробовать cygwin.ssh использовать другой файл идентификации с помощью ключа -i или переместить ключи в оба каталога или создать файл конфигурации ssh в /home/name/.ssh/config.
Я создал конфигурацию, содержащую:
Host github.com
User jerryasher
Hostname github.com
IdentityFile c:/Users/jerry/.ssh/id_rsa
И учитывая, что я могу использовать либо mingw git из git bash, либо cygwin git из rxvt для взаимодействия с github.
Ответ 10
Чтобы исправить эту проблему, запустите "plink -agent github.com"
Нажмите y, когда появится запрос на кеширование ключа. Войдите в систему как git. Вы автоматически отключитесь. И это будет работать.
Источник: http://devlicio.us/blogs/sergio_pereira/archive/2009/05/06/git-ssh-putty-github-unfuddle-the-kitchen-sink.aspx
Ответ 11
Попробуйте использовать абсолютный путь к репо в URL-адресе, который работал у меня.
Вместо:
git ssh://[email protected]:port/myapp.git
Запись:
git ssh://[email protected]:port//home/user/repo/myapp.git
Обратите внимание на двойную косую черту!