EGit — сбой SSH на парольной фразе (при подключении к GitHub)

Я использую Eclipse Indigo RC4 с EGit (в комплекте). У меня есть проект, который я зафиксировал в своем локальном репозитории, и теперь я хочу отправить его в удаленный репозиторий, который у меня есть на GitHub.

Нажатие / извлечение из инструментов командной строки работает нормально (я настроил аутентификацию SSH на основе ключа RSA).

Но когда я пытаюсь нажать из EGit (через SSH, указывающий на GitHub), я получаю приглашение ввести свою парольную фразу. Но когда я ввожу правильную парольную фразу, он снова запрашивает то же самое (примечание: имя пользователя отображается как git, потому что это значение по умолчанию при использовании GitHub. Я думаю, это не будет проблемой).

В настройках Eclipse я дважды проверил, чтобы убедиться, что он настроен на использование сгенерированных мной токенов RSA.


person Yohan Liyanage    schedule 11.06.2011    source источник


Ответы (3)


Разобрался, перейдя по этой ссылке http://www.eclipse.org/forums/index.php/t/197428/.

Я создал переменную среды GIT_SSH, которая указывает на /usr/bin/ssh (это была реализация SSH, которую я использовал в командной строке) и запустил Eclipse. Когда эта переменная среды присутствовала, Eclipse подключался с помощью инструмента SSH моей оболочки, и не было запроса на ввод парольной фразы, и все работало нормально.

person Yohan Liyanage    schedule 11.06.2011
comment
У меня проблемы с этим, где мне разместить переменную среды, точную строку, которая мне нужна, пожалуйста? - person Seth Hikari; 15.06.2011
comment
@Seth Это зависит от твоей операционной системы, Сет. В моем случае я использую Ubuntu, поэтому я изменил файл /etc/environment (для этого вам нужны привилегии суперпользователя), добавил в него строку GIT_SSH="/usr/bin/ssh" в качестве последней строки и перезапустил машину. Если вы используете Windows, перейдите по этой ссылке support.microsoft.com/kb/310519. В любом случае, быстрый поиск в Google о том, как установить переменную среды в Your-OS-Name, поможет вам. Надеюсь это поможет. Удачи ! - person Yohan Liyanage; 15.06.2011
comment
та же проблема, то же решение! Спасибо большое! - person Topera; 03.07.2011
comment
К вашему сведению, но чтобы не быть фанатиком, вы, как правило, не должны редактировать /etc/environment и вместо этого должны редактировать .profile в своем домашнем каталоге. Добавление строки export GIT_SSH=which ssh обычно работает на большинстве платформ. - person Nick Campion; 09.09.2011
comment
Спасибо, Ник. Да, ты прав. Я привык редактировать /etc/environment, потому что изменения, которые я там делаю, доступны для всех учетных записей. Но опять же, у меня есть только одна учетная запись на моей машине, и я мог бы просто использовать вместо нее .profile :) - person Yohan Liyanage; 10.10.2011

Еще проще обновить пакет JSch до версии 0.1.44 из репозитория eclipse orbit (сайт программного обеспечения p2): http://download.eclipse.org/tools/orbit/downloads/drops/R20110523182458/repository/

Основная проблема заключается в том, что JSch ‹ 0.1.44 не поддерживает более новую схему шифрования AES-128:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=326526

person adietisheim    schedule 11.08.2011
comment
Это исправило это для меня (Ubuntu 11.04). Почему бы им не перенести это в текущую стабильную версию? Раздражающий. - person Stephen Fuhry; 27.09.2011
comment
@adietisheim Большое спасибо! У меня тоже сработало обновление пакета JSch!! :) - person rmbianchi; 22.03.2012
comment
У меня работает на убунту 11.04. Спасибо! - person jeje; 11.08.2012

В Eclipse Juno Jsch уже> 1,44, но проблема все еще возникает (для меня). Я также попытался установить GIT_SSH, и это тоже не сработало. Мои предыдущие ключи были сгенерированы с помощью ssh-keygen, я могу только догадываться, что он не генерирует подходящий ключ.

Что я сделал, что сработало, так это:

  • Используйте Eclipse для создания нового ключа DSA — создание 1024-битного ключа Eclipse->Настройки->Общие->Сетевые подключения->SSH2->Управление ключами

    [Это может работать с RSA, я не пробовал]

  • Скопируйте сгенерированный открытый ключ в удаленное репо.

  • Нажмите кнопку [Сохранить закрытый ключ], не вводя кодовую фразу.

  • ПЕРЕЗАПУСТИТЬ ЗАТМЕНИЕ

Eclipse/EGit теперь будет синхронизироваться с удаленным репозиторием Git, не требуя парольной фразы — уф!

person Tim T    schedule 27.11.2012