Ошибка Auth Failed с EGit и GitHub

Я установил плагин EGit в Eclipse Helios и пытаюсь использовать его со своей учетной записью GitHub, но когда я пытаюсь его настроить, я получаю сообщение об ошибке «Ошибка аутентификации».

Я гуглил, но не повезло... похоже, проблема с моей парольной фразой, но, насколько я знаю, EGit смотрит в нужное место (/home/user/.ssh/id_rsa), и у меня нет проблем с подключением через консольный клиент ssh или git.

В некоторых блогах говорится, что это проблема с URI и парсером Egit, но я до сих пор не нашел решения.


person tehsis    schedule 30.08.2010    source источник


Ответы (23)


Мой ответ может быть устаревшим, но, надеюсь, он может быть полезен для кого-то.

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

  2. На вкладке "Управление ключами" нажмите кнопку "Создать ключ RSA...". При желании вы можете добавить комментарий (обычно это адрес электронной почты) и парольную фразу к вашему ключу. Парольная фраза будет использоваться во время аутентификации на GitHub.

  3. Скопируйте сгенерированный открытый ключ (в поле чуть ниже кнопки «Создать ключ RSA...») и добавьте его в свою учетную запись GitHub.
  4. Нажмите кнопку "Сохранить закрытый ключ...", чтобы сохранить закрытый ключ RSA в файл. По умолчанию ключи хранятся в домашнем каталоге SSH2 (см. вкладку «Общие»).

Вот и все! Теперь вы сможете отправить свой код в репозиторий GitHub.

person Andrei Petrenko    schedule 11.05.2011
comment
У моего закрытого ключа не было стандартного имени (id_rsa), поэтому он не распознавался как таковой. Я добавил его вручную, в указанных вами окнах настроек, и все заработало нормально. - person muriloq; 23.07.2011
comment
У меня была аналогичная проблема, это решение сработало как шарм - person rjacks; 16.10.2011
comment
Я заметил, что после настройки ключа SSH, как вы описываете, мне не следует менять имя пользователя/пароль в поле аутентификации (я указывал свои учетные данные GitHub). По умолчанию в этом поле указано имя пользователя: git, а пароль пуст. - person harschware; 08.02.2012
comment
Я голосую за правильный ответ. Мы используем как персональные гитхабы, так и локальный гиториальный сервер, который я установил в своей компании. У нас были проблемы с Eclipse, хотя локальный git работал нормально. - person Gepsens; 29.02.2012
comment
Это сработало для меня с репозиторием BitBucket git, хотя мне пришлось перезапустить Eclipse. - person artlung; 13.09.2013
comment
оставив имя пользователя как git и пароль пустым, наконец, сработало для меня. - person Mike R; 27.03.2014
comment
Вот процесс добавления сгенерированного ключа RSA в вашу учетную запись github 1) войдите в свою учетную запись github 2) перейдите к настройкам 3) слева вы найдете ключи SSH, щелкните по нему 4) затем нажмите добавить ключи SSH (теперь вставьте ключ SSH который вы сгенерировали) - person rajeev; 27.08.2014
comment
Это может быть глупо, но я попытался сгенерировать закрытый ключ, удалив имя пользователя, но все равно не сработало. Наконец, протокол, который я изменил с ssh на git (в диалоговом окне git clone). Тогда это сработало! - person Sachin C Nambiar; 07.02.2019
comment
Хотя это и не имеет прямого отношения к этому, позвольте мне оставить здесь комментарий (подробно описывающий мой опыт). Я использую babun (дистрибутив Cygwin) ssh-keygen. Сгенерированный ключ, когда кошка из командной строки, не может быть импортирован в eclipse и domino datalab. Открыв открытый ключ в редакторе (notepad++ и т. д.) и удалив переводы строк, мы можем импортировать его в базу данных domino, но не в eclipse. - person Edward Aung; 15.04.2019

У меня была точно такая же проблема, но я нашел лекарство из отчета об ошибке Eclipse!

В переменной среды с именем GIT_SSH должен быть указан путь к исполняемому файлу ssh [1].

Например, в Ubuntu Linux (10.10 64 бит):

> export GIT_SSH=/usr/bin/ssh
> eclipse

После этого отправка в репозиторий GitHub работает как надо. Я тестировал это с Eclipse Galileo и Indigo.

Проблема действительно раздражает, и решение далеко не приятное. На данный момент, чтобы сделать решение постоянным, по крайней мере, для пользователей Ubuntu, нужно сделать переменную env постоянной. Это можно сделать, добавив команду экспорта в ~/.profile или ~/.bashrc [2]. Например:

> cd ~
> echo "export GIT_SSH=/usr/bin/ssh" >> .profile

Затем перезапустите Eclipse, чтобы изменения вступили в силу.

Источники:

person Akseli Palén    schedule 02.10.2011
comment
Я занимался этой проблемой всю неделю - Eclipse под osx подключался к GitHub или Asssembla. Ваше исправление работает для меня. Спасибо. - person ianmayo; 07.10.2011
comment
В Windows openssh у меня не работал. Пришлось использовать плинк. Смотрите мой ответ. - person Piotr Dobrogost; 16.01.2012
comment
И это приближается к выпущенному исправлению. В конце отчета об ошибке кто-то показал, как вручную загрузить последний файл jsch jar и вручную установить его, чтобы он работал именно так. Я просто собираюсь пойти с этим решением env var и дождаться, пока этот файл jsch jar попадет в фактический выпуск eclipse. - person crowmagnumb; 24.04.2012
comment
Решил мою проблему. Спасибо. - person Pedram; 21.12.2012
comment
МОЙ БОГ. Подобные проблемы заставляют меня задаться вопросом, почему Android вообще использовал Eclipse. Большое спасибо за ваш совет. Это решило мою проблему, и EGit/Eclipse был совершенно бесполезен с Auth Fail. - person Calyth; 18.08.2014
comment
Кроме того, это работало в моей конфигурации, в которой у меня нет ключей, хранящихся на машине, на которой я запускаю Eclipse. Я держу свои ключи разблокированными с помощью локального агента и использую «ssh -A» для удаленного запуска eclipse. - person tbc0; 06.07.2015
comment
Вау, это было проблемой в 2012 году и до сих пор остается проблемой. Запуск git clone из командной строки всегда работал, но мне пришлось добавить переменную среды выше, чтобы заставить ее работать через Eclipse. Ubuntu 14.04 с Марсом. - person Tony Maro; 27.01.2016
comment
Это также решило проблему, из-за которой плагин jgitflow maven не читал файл .ssh/config. С этим набором окружения все работает. Большое спасибо - person Julien; 30.06.2016

Я решил это, выбрав http в качестве протокола и указав свое имя пользователя и пароль GitHub.

person hari_sree    schedule 17.09.2011
comment
да! Вопреки всему остальному, что я читал, но это сработало. (Затмение Индиго) - person Owen B; 23.08.2012
comment
http или https намного проще, чем ssh - person Junchen Liu; 30.03.2016
comment
Да, но бывают случаи, когда вам нужно использовать ssh. Например, необходимость двухфакторной аутентификации в BitBucket при работе с репозиториями. Вы можете работать через ssh только тогда, когда вам нужна двухфакторная аутентификация. - person Akshay Mahajan; 14.10.2019

Потратив несколько часов на поиски решения этой проблемы, я, наконец, наткнулся на золото, внеся изменения, упомянутые в Форум Eclipse.

Шаги:

Предварительные требования: mysysgit установлен с конфигурацией по умолчанию.

1. Создайте файл C:/Users/Username/.ssh/config (замените «Username» своим именем пользователя Windows 7 (например, C:/Users/John/.ssh/config)) и поместите в него:

Host github.com
HostName github.com
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa

2. Попробуйте настроить удаленный репозиторий прямо сейчас в Eclipse.

Ваше здоровье. Он должен работать идеально.

person Rushal A    schedule 03.03.2012

Нужно установить msysgit, после установки нужно открыть Git Bash и ввести там такие команды:

$ git config --global user.name "Gennadiy Zlobin" (your name)
$ git config --global user.email [email protected] (your email)
$ ssh-keygen -C "[email protected]" -t rsa (your email)

Теперь ваши сгенерированные ключи находятся в C:\Users\username\.ssh (в Windows 7).
Затем вы загружаете содержимое своего открытого ключа в свой проект на Github
В Eclipse откройте Window->Preferences->General->Network->SSH2 и установите ~/.ssh как SSH Home.

После этого перейдите в Key Management tab и Загрузить существующий ключ — установите здесь свой закрытый ключ в ~/.ssh.

После этого вы можете отправить свой проект на Github (но я установил протокол ssh, а не git+ssh).

person gennad    schedule 15.11.2010
comment
Большое спасибо, но на самом деле я запускаю его под Arch Linux. - person tehsis; 27.11.2010

Я решил ту же проблему, добавив свой ключ в ssh;

ssh-add ~/.ssh/id_rsa 

затем ввел парольную фразу и требует перезагрузки.

person volkan    schedule 14.10.2011

Для пользователей *nix, использующих SSH:

Убедитесь, что имя пользователя для вашей учетной записи на локальном компьютере не отличается от имени пользователя для учетной записи на сервере. Судя по всему, eGit не справляется с этим. Например, если ваше имя пользователя на локальном компьютере — «john», а учетная запись, которую вы используете на сервере, называется «git», egit просто не сможет подключиться (во всяком случае, для меня). Единственный обходной путь, который я нашел, - это убедиться, что у вас одинаковые имена пользователей как на локальном компьютере, так и на сервере.

person Jeshurun    schedule 23.07.2012
comment
Любая идея, это все еще так? Я весь вечер билась головой о стену. Мой закрытый ключ защищен парольной фразой, которую Eclipse/eGit никогда не запрашивает. Когда я пытаюсь нажать на удаленный, Eclipse просто выдает ошибку org.eclipse.jgit.transport.CredentialItem$StringType Passphrase for .ssh id_rsa - person Vilsepi; 17.09.2013

По ссылке ниже я разместил то, что сработало для меня...

http://www.eclipse.org/forums/index.php?t=msg&goto=648905&S=9bcfa96ab726d744d41a19c7fb02d723#msg_648905

person Melissa Rice    schedule 15.01.2011
comment
В моем случае было необходимо перезапустить Eclipse после внесения изменений! - person Martin Pecka; 27.06.2013

Моя четверка: мои ключи SSH были настроены в Cygwin, в C:\cygwin\home\‹user›.ssh, поэтому я указал SSH на эту папку вместо стандартной (Win7) C:\Users\‹user›\ssh , согласно этим инструкциям: http://wiki.eclipse.org/EGit/User_Guide/Remote#Eclipse_SSH_Configuration

и использовал протокол ssh, и он отлично работает. Однако попытка использовать протокол git по-прежнему дает «Пользователь, не поддерживаемый протоколом git».

person drkvogel    schedule 04.01.2012

Для тех, кто, как и я, уже настроил ssh-ключи, но все еще получает ошибки:

Убедитесь, что вы настроили 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

Я обновил плагин ночными сборками: http://www.eclipse.org/egit/download/

С обновлением у меня заработало. (Затмение Гелиос, Mac OS X)

person fbrandel    schedule 22.09.2010
comment
Это все еще не работает для меня :( с тех пор, как я опубликовал это, оно было обновлено два раза. Может быть, это ошибка в GNU/Linux - person tehsis; 27.11.2010

Вы пытались использовать протокол ssh вместо git+ssh? У меня та же проблема, и это решило ее, хотя в официальной документации указано использовать git + ssh

person kamisama    schedule 27.11.2010

В Windows установка GIT_SSH для openssh, поставляемого с msys git, не работала (Eclipse зависал во время фиксации). Установка его на TortoisePlink решила проблему (думаю, оригинальный plink тоже сработает). Дополнительным бонусом является то, что теперь Eclipse использует ключи, хранящиеся в конкурсе.

person Piotr Dobrogost    schedule 16.01.2012

Я решил это, выбрав https в качестве протокола, а затем добавив свое имя пользователя и пароль github.

person eden    schedule 02.03.2014

В представлении GIT, где у вас есть репозитории, вы увидите такую ​​структуру, как:

  • ветви
  • теги
  • использованная литература
  • пульты
  • и т.д...

Нажмите на пульты, щелкните правой кнопкой мыши URL-адрес репозитория и выберите «Изменить учетные данные».

person Fico    schedule 08.03.2016

Я нашел сообщение на форумах Eclipse. который решил эту проблему для меня.

person Daniel Jonsson    schedule 27.10.2011

У меня была та же проблема, которая, похоже, была связана с проблемой конфигурации. Приложение github mac osx создало закрытый ключ ssh с именем github_rsa.

В своем затмении перейдите к Window > Preferences > Network Connections > SSH2

На общей вкладке вы должны увидеть SSH2 home /Users/<you username>/.ssh вы, вероятно, увидите id_dsa, id_rsa, определенные как закрытые ключи.

Нажмите «Добавить закрытый ключ» и выберите github_rsa, расположенный /Users/<you username>/.ssh.

person scottyab    schedule 12.04.2013

ЕСЛИ У ВАС ЕСТЬ ФАЙЛ PEM: в Eclipse выберите Окно > Настройки > Сетевые подключения > SSH2, а затем добавьте путь к файлу PEM в "Закрытые ключи", и это должно решить проблему. проблема.

person msamadi    schedule 26.04.2013

Однажды я хотел опубликовать исправление кода Google и получил ту же ошибку. Начал с этого видео, но при сохранении и публикации возникла ошибка. Я видел, что есть несколько вопросов по этому поводу. Некоторые из них являются пользователями Windows, им повезло больше всего, потому что обычно нет проблем с разрешениями, а некоторые являются пользователями Linux.

У меня есть Mac для мобильной разработки, и я очень часто сталкиваюсь с этой проблемой. Источником этих проблем являются «независимые от платформы» решения, которые не заботятся о Mac и не имеют доступа к цепочке ключей, где хранятся сертификаты, файлы .pem и так далее.

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

Половина части была выполнена с помощью плагина Eclipse Git, вторая часть (передача на Github) была выполнена с помощью Mac Github

Легко и приятно :)

Все можно сделать с этим родным приложением, если я начну его изучать, мне просто нужна от него функция push.

Надеюсь, это однажды поможет пользователю Mac.

person Community    schedule 14.09.2013

Я обнаружил, что если я настрою двухэтапную аутентификацию в github, Eclipse не сможет подключиться к Github, что имеет смысл, поскольку двухэтапная аутентификация в github требует ввода номера из SMS (а Eclipse не у меня нет этой информации).

Если это ваш сценарий, вы можете рассмотреть возможность деактивации двухэтапной аутентификации в github и посмотреть, поможет ли это.

person kevlaria    schedule 16.10.2013

Для существующих ключей ssh ​​я думаю, что это ошибка в Eclipse Juno 3.8.

Что я сделал:

1) Загрузите существующий ключ, выбрав: Окно > Настройки > «Поиск ssh» > вкладка «Управление ключами» > «Загрузить существующий ключ» > выберите закрытый ключ, который у вас уже есть

2) Сохраните этот ключ, нажав кнопку Сохранить закрытый ключ. Назовем его id_dsa_github.

3) Теперь проверьте, работают ли push и pull. Должен быть.

4) Теперь на общей вкладке удалите закрытый ключ id_dsa_github и добавьте свой предыдущий закрытый ключ, нажав кнопку Добавить закрытый ключ.

Теперь вы можете идти. Полагаю, для выполнения всех действий от EGit до регистрации требуется как минимум один раз.

person soham    schedule 04.03.2015

Я столкнулся с той же проблемой.

Я думал, что это как-то связано с моими учетными данными и аутентификацией.

Затем, наконец, я понял, что настроенный мной URI не является вариантом HTTP.

Я пытался нажать на SSH URI моего Git с конфигурацией HTTP.

Проверьте свой URL в

Git Perspective > Remotes > Origin > Configure Fetch > Change > Убедитесь, что prtocal — HTTPS, а URL-адрес — версия https.

person MohanRaj    schedule 30.07.2018

Я мог бы использовать консоль для нажатия/вытягивания репозиториев, но не в eclipse. В моем случае eclipse, кажется, не может прочитать мой закрытый ключ SSH, мой ключ начинается с:

-----BEGIN OPENSSH PRIVATE KEY-----

И я заметил, что ключ моего коллеги начинается с:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED

Я думаю, что в настоящее время eclipse не может использовать этот новый тип ключа (OPENSSH PRIVATE KEY).

Я решил это: Восстановите свой ключ ssh с помощью команды:

ssh-keygen -m PEM -t rsa -b 2048

Это будет использовать старый способ генерации ключа: он будет начинаться с заголовков:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED

см. дополнительную информацию о:

https://github.com/duplicati/duplicati/issues/3360

Затем вы можете снова загрузить ключ в eclipse, используя «Настройки» -> «Сетевые подключения» -> «SSH2», нажмите «Добавить закрытый ключ» (все равно выберите свой закрытый ключ, даже если вы уже видите имя в списке закрытых ключей, потому что eclipse должен перезагрузить)

person Angia    schedule 04.12.2018