2010-11-19 2 views
1

Я пытаюсь нажать на репозиторий поверх SSH вместо обычного https или любого другого значения по умолчанию. Для этого процесса требуется имя пользователя и пароль вместо ключа ssh. Однако это всегда терпит неудачу, когда я пытаюсь сделать это:Не удается нажать на репозиторий git на основе ssh

[email protected] /w/programming/wreckcreations-site/dev (dev) 
$ git push -vvv --all ssh://*name*@*site*/~/html/dev2 
Pushing to ssh://*name*@*site*/~/html/dev2 
fatal: The remote end hung up unexpectedly 

Думая, что это был вопрос SSH, я попытался SSH в мой локальный сервер

[email protected] /w/programming/wreckcreations-site/dev (dev) 
$ "`echo $GIT_SSH`" 192.168.2.2 
login as: root 
[email protected]'s password: 
Last login: Thu Nov 18 19:36:58 2010 from 192.168.2.4 
←]0;[email protected]:~[[email protected] ~]# exit 
logout 
←[H←[2J 
[email protected] /w/programming/wreckcreations-site/dev (dev) 
$ git push -vvv --all ssh://[email protected]/~/somedir 
Pushing to ssh://[email protected]/~/somedir 
fatal: The remote end hung up unexpectedly 

То же сообщения об ошибке ... Так что я посмотрел в/var/log/secure на коробке

Nov 18 21:15:06 system sshd[28460]: Accepted password for root from 192.168.2.4 port 2788 ssh2 
Nov 18 21:15:06 system sshd[28460]: pam_unix(sshd:session): session opened for user root by (uid=0) 
Nov 18 21:15:11 system sshd[28460]: pam_unix(sshd:session): session closed for user root 
Nov 18 21:17:35 system sshd[28618]: Received disconnect from 192.168.2.4: 13: Unable to authenticate 

Первые три строки взяты из plink, последняя из git. Последняя строка может повторяться каждый раз, когда я пытаюсь использовать git push. Что не имеет смысла

Если я предполагаю, что мой удаленный хост получает то же сообщение об ошибке, почему не git отправляет мое имя пользователя и просто отключается? Я никогда раньше не видел такого рода ошибки, поэтому я действительно смущен.

Следует отметить, что это поле Windows XP с использованием msysgit с обеими удаленными серверами, являющимися Linux.

Любые предложения?

+0

'ssh: // * name * @ * сайт */~/html/dev2' не включает пароль ... – Armand

+0

@Alison' ssh: // * name *: * pass * @ * site * 'тоже не работает. С сайта или двух, где я увидел, где кто-то получил его, он попросил пароль. – TheLQ

ответ

1

Очевидно, что Plink просто не работает с git, поэтому я переключился на ssh. После многих дней боли, пытаясь заставить ssh и git просто работать в Windows (ударить infamous "Unprotected key file!" error, процесс ssh случайно висит, нестандартные (и не работают) частные и открытые ключи, созданные Putty, несколько переустановок, перетаскивание бинарных файлов cygwin и DLL-файлы в git и т. Д.), Я успешно нажал на удаленный сервер.

Я бы очень рекомендовал не пытаться это делать, если вы работаете в Windows, так как процесс слишком трудоемкий и расстраивающий. Я сам ищу альтернативные решения, поэтому мне не нужно делать это снова и снова, когда я переформатирую или перехожу на новый компьютер.

+0

Вы абсолютно правы. Я попал в ту же самую ужасную историю: http://stackoverflow.com/questions/6681918/git-push-using-putty-on-windows-fails-fatal-the-remote-end-hung-up-unexpectedly Все еще нет конца взгляд ... – WinWin

+0

@WinWin Честно говоря, после этого и другого ерунда я перешел на Mercurial несколько месяцев спустя. См. Здесь: http://programmers.stackexchange.com/questions/87217/why-is-mercurial-considered-to-be-easier-than-git/87245#87245 – TheLQ

1

Чтобы использовать plink с git, вы должны do private key authentication. Для получения информации см. this или this.

+0

Хотя аутентификация с использованием секретного ключа исправит мою проблему, это не мой сервер, и я не могу использовать этот тип auth. Его строгое имя пользователя и пароль. – TheLQ

+0

alternativaly, используйте openssh из cygwin. git просто не работает с plink. –

Смежные вопросы