Использование шпатлевки с egit в Eclipse - PullRequest
7 голосов
/ 14 октября 2011

Я пытаюсь получить доступ к частному удаленному SSH-репозиторию git через модуль egit Eclipse.Я использую Eclipse в Windows.Eclipse, похоже, не работает автоматически с пагентом putty для пересылки авторизации, и я не могу найти никакой документации по настройке SSH, используемой egit (например, для использования plink.exe).

Я нашел документациюв Интернете о настройке других клиентов git для Windows для использования putty / plink (например, для msysgit), но я не могу найти что-нибудь о egit и putty (или eclipse) Eclipse.

I'mуверен, что ключ ssh работает нормально, так как я все время использую его для входа на сервер с Putty.

В частности, я использую Git Repository Viewer, нажимаю 'Clone Remote Repository', заполняю хост, репозиторийпуть, протокол (ssh) и пользователь.Я нажимаю «Далее».Я могу сказать, что это соединение, потому что я получаю всплывающее окно с уникальным баннером моего сервера.Затем я получаю

Transport Error: Cannot list the available branches: Reason: <URI>: Auth fail

Вход в ssh осуществляется только через sshkey, поэтому он не работает (но, по крайней мере, показывает, что у меня есть основы).

У кого-нибудь есть успех с egit + pageant?Или знаете, если это просто невозможно?

Обновление

Кажется, что это не работает, потому что Eclipse имеет внутреннюю реализацию чисто Java-SSH (jsch) и эту реализацию EclipseСодержимое (пока) не поддерживает протоколы агента авторизации.

Было предложено несколько исправлений для поддержки агентов ssh платформы через (спасибо @Janning за ссылку).Смотрите это Eclipse ошибка 179924 .Обновление № 24 включает в себя эту обнадеживающую заметку о предлагаемых исправлениях:

Я подтвердил, что могу получить доступ к http://github.com/ и клонировать некоторые проекты с помощью egit с театральным редактором putty.1026 *

Я не совсем уверен, но похоже, что в настоящее время возникают некоторые проблемы с лицензированием вокруг библиотеки сокетов unix-домена чисто java и обновлением реализации SSH чисто Java, используемой Eclipse.

Более поздняя ошибка ( номер 360663 ) показывает, что требуемая версия jsch была зафиксирована в Eclipse (и, насколько я могу судить, должна быть частью следующего выпуска - должна быть в конце июня 2012 г.).

Ответы [ 4 ]

8 голосов
/ 01 августа 2012

Прочитав ответ morellet.d, я смог установить это для себя очень просто.

Я добавил переменную среды пользователя GIT_SSH и установил ее как «C: \ Program Files (x86) \ PuTTY \ plink.exe». Итак, вам просто нужно указать, где находится ваш файл plink, и он будет работать.

Инструкции работали с PuTTY 0.62, новейшими EGit и Eclipse Juno x64.

2 голосов
/ 06 февраля 2013

Найденное лучшее решение позволяет использовать ключ пагента вместо ключа затмения (openssh).Для меня или кого-то еще попробуйте использовать Eclipse, GitBash, с plink и pagent (с или без keepass) в Windows.

Основная причина заключается в том, что сообщение об ошибке лежит.Это может из-за сбоя при вызове plink.exe из-за неверного параметра и отсутствия связи с ключом сервера.(Разработчик JGIT должен исправить).

EGIT использует JGit и передает аргумент "- p [порт] [сервер]" git-upload-pack '[проект]' " plink.exe.

Аргумент хорош для openssh , однако, который не совместим с plink.exe , plink.exe требует заглавной буквы "- P« для порта ssh.


Сохраните этот файл как« plink.cmd »

@ECHO OFF
SET c="plink.exe" -ssh -agent -l [username]

:loop
if NOT _%1_ == __ (
 IF _%1_ == _-p_ (
  SET c=%C% -P
 ) else (
  SET c=%C% %1
 )
 shift
 goto loop
)
%c%

В Windows запустите SETX GIT_SSH PATH_TO \ plink.cmd для загрузки переменной среды.


Наслаждайтесь подключением pagent к вашему Eclipse и GIT Bash для Windows.

0 голосов
/ 25 ноября 2011

EGit + pageant на самом деле работает для меня (в отличие от конфигурации домашнего / частного ключа Eclipse SSH2 ...)

Я нахожусь на Windows 7 с установленным TortoiseGit + msysgit.

ВВкладка User Settings в Team > Git > Configuration Я только ввел свое имя и адрес электронной почты, а знак входа пуст.На вкладке Repository Settings URL-адрес копируется и вставляется по ssh-ссылке github, а путь puttykey является правильным (например, C:\Users\you\.ssh\yourkey.ppk).Я использую ключ без ключевой фразы.

Я также добавил следующую системную переменную Windows: GIT_SSH = C:\\Program Files\\TortoiseGit\\bin\\TortoisePlink.exe

После запуска конкурса с добавленным ключом он должен работать ...

0 голосов
/ 14 октября 2011

eGit использует ключи SSH, о которых знает встроенная функциональность Eclipse по SSH.Загрузите ключи на страницу настроек SSH2, показанную в http://wiki.eclipse.org/EGit/User_Guide#Eclipse_SSH_Configuration.

...