Egit отказывается принимать id_rsa

Я впервые использую git, пытаясь настроить egit в Eclipse, поэтому я могу продолжать легко кодировать через Eclipse. Проблема в том, что каждый раз, когда я пытаюсь клонировать репозиторий через egit, он выдает ошибку «Невозможно перечислить доступные ветки. Причина: ssh://[email protected]:22 Парольная фраза для /Users/elifinkelshteyn/.ssh/id_rsa. " Это действительно странно, так как я могу клонировать через терминал, используя тот же самый id_rsa, и я проверил в свойствах Eclipse ssh, что он пытается использовать правильный ключ. Что дает?


person Eli    schedule 22.08.2011    source источник
comment
Как говорит VonC ниже, это текущая ошибка, но только в последних ночных сборках. Я смог решить свою проблему, откатившись к последней стабильной сборке, и в этот момент мне был правильно предложен мой пароль. Если у кого-то еще возникнет эта проблема, просто откатитесь до последней стабильной версии.   -  person Eli    schedule 23.08.2011


Ответы (5)


Просто для подтверждения: это текущая ошибка (issue 353561).< br> И парольная фраза все еще может быть проблемой в зависимости от шифрования, которое вы использовали при создании ключа (ошибка 326526).

Однако парольная фраза должна поддерживаться (как упоминается в руководстве пользователя Egit).

person VonC    schedule 23.08.2011

если вы получаете запрос на ввод фразы-пароля, но eclipse не принимает фразу-пароль, попробуйте следующее:

установите переменную среды GIT_SSH для вашего клиента ssh, например. добавлением

export GIT_SSH=/usr/bin/ssh

к вашему .bash_rc

в Mac OSX откройте терминал и введите:

cd
mkdir .MacOSX
cd .MacOSX
echo "" > environment.plist
open environment.plist

добавьте KEY=GIT_SSH с VALUE=/usr/bin/ssh и сохраните файл.

После повторного входа в свою учетную запись он должен работать.

person Carsten D.    schedule 26.10.2011
comment
Я столкнулся с этой проблемой в Ubuntu 12.04, Eclipse Helios, OpenSSH_5.9p1 Debian-5ubuntu1 и eGit 2.1.0.201209190230-r. Eclipse запрашивал у меня парольную фразу для моего закрытого ключа id_rsa и не принимал мой ввод. Я следовал [этим инструкциям] [helpful_ticket] и выполнил следующее в командной строке и добавил его в свой файл ~/.bashrc: export GIT_SSH=/usr/bin/ssh. вместо. Моя кодовая фраза была принята, и я смог подключиться к моему репозиторию на github. [helpful_ticket]: stackoverflow.com/a/7901786/1304537 - person islandlinux; 08.12.2012

Как говорит VonC, это ошибка, заключающаяся в том, что реализация SSH, которую использует EGit, не может обрабатывать ничего, кроме зашифрованных закрытых ключей 3DES. Если вы похожи на меня, у вас есть зашифрованные ключи AES, поэтому он просто не может их расшифровать. В этом отчете об ошибке есть комментарий, вот ссылка непосредственно на комментарий https://bugs.eclipse.org/bugs/show_bug.cgi?id=326526#c9

Этот комментарий предоставил рабочий обходной путь: последние версии EGit учитывают переменную среды GIT_SSH, устанавливая для нее значение /usr/bin/ssh или даже plink.exe, если вы работаете в Windows, и это должно решить проблему.

person Lynden Shields    schedule 08.09.2011
comment
Другое исправление заключается в обновлении JSch (реализация eclipse/EGit ssh) до версии 1.44, которая делает расшифровку паролей AES и объясняется в ошибке @Lynden Shields, а также в вопросе SO EGit - SSH не работает на парольной фразе (при подключении к GitHub) - person Mark Mikofski; 23.06.2012

С момента ОП прошло значительное количество времени, и у меня все еще была та же проблема. Для тех, у кого все еще есть эта проблема, это может помочь:

Убедитесь, что вы настроили push-пульт. Это сработало для меня, когда я столкнулся с обеими проблемами Не удается получить ссылки на удаленный репозиторий ("... Парольная фраза для..." и "Ошибка аутентификации" в диалоговом окне "Отправить...").

При условии, что вы уже:

  1. Настройте ключи SSH с помощью Github (Окно > Настройки > Общие > Сетевые подключения > SSH2)

  2. Настройте локальный репозиторий (для этого вы можете следовать этому руководству)

  3. Создан репозиторий Github (то же руководство)

... вот как вы это делаете:

  • Перейдите в представление Репозитории Git (Окно > Показать представление > Другое > Репозитории Git).
  • Разверните свой репозиторий и щелкните правой кнопкой мыши Remotes --> "Создать Remote".
  • «Удаленное имя»: источник, «Настроить push»: установлен флажок --> нажмите «ОК»
  • Нажмите кнопку "Изменить...".
  • Вставьте свой URI git и выберите протокол ssh --> нажмите "Готово"
  • Теперь нажмите «Сохранить и отправить», и СЕЙЧАС вы должны получить приглашение ввести пароль --> введите кодовую фразу открытого ключа здесь (при условии, что вы ДЕЙСТВИТЕЛЬНО (и должны) установить пароль к вашему открытому ключу) --> нажмите "ОК"
  • Теперь вы должны получить окно подтверждения с сообщением «Отправлено в YourRepository — origin» --> нажмите «ОК».
  • Отправить в восходящий поток, но на этот раз используйте " Настроенный удаленный репозиторий" в качестве целевого репозитория Git.
  • Приготовь себе заслуженную чашку кофе!
person Roger    schedule 01.09.2013

Похоже, что для вашего файла /Users/elifinkelshteyn/.ssh/id_rsa требуется пароль, и я не уверен, что реализация ssh в Eclipse знает, как запросить его. Это щекочет мой мозг, что, вероятно, есть пакет ssh-auth, который вам нужно установить для Mac, чтобы он мог подсказывать, и если вы можете узнать об этом больше, это, вероятно, идеально. Тем не менее, обходной путь в краткосрочной перспективе — создать новый ключ rsa, который не использует пароль, загрузить его на github и настроить eclipse для его использования.

person Daniel Miles    schedule 22.08.2011
comment
Защита вашего закрытого ключа не имеет ничего общего с открытым ключом из пары ключей, которую вы загружаете на GitHub. - person Piotr Dobrogost; 09.12.2011