Помилка "Auth Failed" з EGit та GitHub


98

Я встановив плагін EGit в Eclipse Helios, і я намагаюся використовувати його зі своїм обліковим записом GitHub, але коли я намагаюся його налаштувати, я отримую помилку "Auth Failed".

Я гуглив це, але не пощастило ... начебто це проблема з моєю парольною фразою, але AFAIK EGit шукає потрібне місце ( /home/user/.ssh/id_rsa), і я не маю проблем з підключенням sshабо gitклієнтом консолі.

Деякі блоги говорять про те, що проблема з URI та аналізатором Egit, але я все ще не знайшов рішення.


Відповіді:


140

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

  1. У екрані Eclipse перейдіть у вікно> Налаштування> Загальне> Мережеві з'єднання> SSH2 (або просто введіть у фільтр вікна налаштувань "SSH2").

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

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

Це воно! Тепер ви маєте змогу підштовхнути свій код до репортажу GitHub.


1
У мого приватного ключа не було стандартного імені (id_rsa), тому його не розпізнавали як такого. Я додав його вручну, у вказаних вами вікнах налаштувань, і він працював чудово.
muriloq

18
Я помітив, що після встановлення ключа SSH, як ви описуєте, я не повинен змінювати ім’я користувача / пароль у вікні автентифікації (я ставив свої дані GitHub). За замовчуванням у цьому полі є ім'я користувача: git та пароль порожні.
гарнітур

1
Це працювало для мене зі сховищем BitBucket git, хоча мені довелося перезапустити Eclipse.
artlung

8
залишаючи ім'я користувача як git і пароль порожніми, нарешті, спрацювало для мене.
Майк R

4
Ось процес додавання згенерованого ключа RSA до вашого облікового запису github 1) увійти до свого облікового запису github 2) перейти до налаштувань 3) ліворуч ви знайдете ключі SSH, клацніть по ньому 4), потім натисніть додати ключі SSH (тепер вставити ключ SSH яку ви створили)
rajeev

27

У мене була точно така ж проблема, але я знайшов ліки з повідомлення про помилку Eclipse!

Змінна середовища з назвою GIT_SSH повинна бути встановлена ​​з доріжкою до виконуваного файлу ssh [1].

Наприклад, на Ubuntu Linux (10.10 64bit):

> 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, щоб набути чинності.

Джерела:


Я був над цією проблемою цілий тиждень - Eclipse під osx підключенням до GitHub або Asssembla. Ваше виправлення працює на мене. Дякую.
ianmayo

У Windows, openssh не працював для мене. Мені довелося користуватися планкіном. Дивіться мою відповідь.
Пьотр Доброгост

І це все ближче до випущеного виправлення. Наприкінці звіту про помилку хтось показав, як вручну завантажити найновіший файл jar jar та вручну встановити його, щоб він працював таким чином. Я просто збираюся розібратися з цим рішенням env var і чекати, коли той jar jar-файл потрапить у реальну програму eclipse.
Кромагнамб

Вирішив мою проблему. Дякую.
Педрам

О БОЖЕ МІЙ. Такі проблеми змушують мене замислитися, чому Android в першу чергу використовував Eclipse. Дуже дякую за пораду. Це вирішило мою проблему, і EGit / Eclipse був абсолютно не
допомагає

16

Я вирішив це, вибравши httpяк протокол і вказавши своє ім'я та пароль GitHub.


так! Всупереч усьому, що я читав, але це спрацювало. (Eclipse Indigo)
Оуен B

http або https набагато простіші за ssh
Junchen Liu

Так, але є випадки, коли потрібно використовувати ssh. Наприклад, потрібна двофакторна автентифікація в BitBucket під час роботи з сховищами. Ви можете працювати над ssh лише тоді, коли вам потрібна двофакторна автентифікація.
Акшай Махаджан

10

Провівши години, шукаючи рішення цієї проблеми, я нарешті вразив золото, внісши зміни, згадані на Форумі затемнення .

Кроки:

Передумови: mysysgit встановлюється з конфігурацією за замовчуванням.

1.Створіть файл C: /Users/Username/.ssh/config (Замініть "Ім'я користувача" своїм іменем користувача Windows 7 (наприклад, C: /Users/John/.ssh/config)) і введіть це в нього:

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

2. Спробуйте налаштувати віддалене сховище зараз у Eclipse.

Ура. Це повинно працювати ідеально.


8

Вам потрібно встановити msysgit, після встановлення вам потрібно відкрити Git Bash і ввести туди ці команди:

$ git config --global user.name "Gennadiy Zlobin" (your name)
$ git config --global user.email gennad.zlobin@gmail.com (your email)
$ ssh-keygen -C "gennad.zlobin@gmail.com" -t rsa (your email)

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

Після цього перейдіть до Key Management tabта завантажте існуючий ключ - встановіть тут свій приватний ключ ~/.ssh.

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


Велике спасибі, але насправді я запускаю його під Arch Linux
техсіс

5

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

ssh-add ~/.ssh/id_rsa 

потім вводить пароль та потребує перезавантаження.


4

Для * nix користувачів, які використовують SSH:

Переконайтесь, що ім’я користувача для вашого облікового запису на локальній машині не відрізняється від імені користувача для облікового запису на сервері. Мабуть, eGit, здається, не може впоратися з цим. Наприклад, якщо ваше ім'я користувача на вашій локальній машині - "john", а обліковий запис, який ви використовуєте на сервері, називається "git", наприклад, він просто не підключається (для мене все одно). Єдина робота, яку я знайшов, - це переконатися, що ви маєте однакові імена користувачів як на локальній машині, так і на сервері.


1
Будь-яка ідея це все-таки так? Я цього вечора стукав головою об стіну. Мій приватний ключ захищений парольною фразою, яку Eclipse / eGit ніколи не вимагає. Коли я намагаюся натиснути на віддалений, Eclipse просто виявляє помилку "org.eclipse.jgit.transport.CredentialItem $ StringType Passphrase for .ssh id_rsa"
Vilsepi


2

Моє чотириденне: мої 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", однак.


2

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

Переконайтеся, що ви встановили пульт дистанційного керування . Це працювало для мене, коли в діалоговому вікні "Натиснути ..." я не можу отримати віддалені рефери- репозиторії ("... Passphrase for ..." та "Auth fail").

За умови, що ви вже:

  1. Налаштуйте свої SSH ключі за допомогою Github (Window> Preferences> General> Network Connections> SSH2)

  2. Налаштування локального сховища (для цього ви можете дотримуватися цього керівництва )

  3. Створено сховище Github (те саме керівництво )

... ось як це зробити:

  • Перейдіть до подання Git Repositories (Вікно> Показати перегляд> Інше> Git Repositories)
  • Розгорніть свій сховище та клацніть правою кнопкою миші Віддалені -> "Створити віддалене"
  • "Віддалене ім'я": походження, "Налаштування натискання": відмічено -> натисніть "ОК"
  • Натисніть «Змінити ...» кнопку
  • Вставте URI git і виберіть протокол ssh -> натисніть "Готово"
  • Тепер натисніть кнопку "Зберегти та натиснути" і ЗАРАЗ ви маєте отримати запит на введення пароля -> введіть сюди парольну фразу відкритого ключа (за умови, що ви DID (і вам слід) встановити пароль для вашого відкритого ключа) -> натисніть "ОК"
  • Тепер у вас повинно з’явитися вікно підтвердження: " Натиснуто на ваш репозиторій - походження" -> натисніть "ОК"
  • Натисніть на верхню течію , але цього разу використовуйте "Налаштоване віддалене сховище" як ваше сховище Destination Git
  • Ідіть, отримайте собі добре зароблену чашку кави!

1

Я оновив плагін із нічними побудовами: http://www.eclipse.org/egit/download/

З оновленням воно працювало для мене. (Eclipse Helios, Mac OS X)


Це все ще не працює для мене :( оновлено два рази з моменту публікації цього повідомлення. Можливо, це помилка під GNU / Linux
tehsis

1

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


1

У Windows налаштування GIT_SSHopensh, що постачається з msys git, не спрацювала (Eclipse висів під час фіксації). Встановлення його на TortoisePlink вирішило проблему (я думаю, оригінальний плінк також працював би). Тепер додатковий бонус Eclipse використовує ключі, збережені в конкурсі.


1

Я вирішив це, вибравши https як протокол, а потім додав своє ім’я та пароль github


1

У вашому перегляді GIT, де у вас є ваші сховища, ви побачите таку структуру, як:

  • гілки
  • теги
  • посилання
  • дистанційні
  • тощо ...

Клацніть на пульти, клацніть правою кнопкою миші на URL-адресі репозиторію та виберіть "Змінити облікові дані".



0

У мене був той самий випуск, який, здається, був налаштований на проблему. Додаток github mac osx створив приватний ключ ssh під назвою github_rsa

У своєму затемненні перейдіть до Window > Preferences > Network Connections > SSH2

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

Клацніть «Додати приватний ключ» та виберіть розташований github_rsa /Users/<you username>/.ssh


0

ЯКЩО У вас є PEM FILE : У Eclipse перейдіть до вікна> Налаштування> Мережеві підключення> SSH2 , а потім додайте шлях до файлу PEM до "Приватних ключів", і це повинно вирішити проблему.


0

Я хотів оприлюднити одного разу мені теж виправити код Google і отримав ту ж помилку. Почав з цього відео, але при збереженні та публікації сталася помилка. Я бачив, що є кілька питань щодо цього. Деякі - це користувачі Windows, найбільш щасливчикам, тому що зазвичай немає проблем з дозволами, а деякі - користувачі Linux.

У мене є Mac для використання в мобільних розробках і дуже часто стикаюся з ціми проблемами. Джерелом цих проблем є "незалежні від платформи" рішення, які недостатньо піклуються про mac, і вони не мають доступу до брелка, де зберігаються сертифікати, .pem файли тощо.

Все, що я хотів, - це не робити жодних налаштувань середовища, ані командного рядка, а просто прості кліки на основі GUI, як звичайний користувач.

Половину частини було виконано плагіном Eclipse Git, друга частина (натисніть на Github) була виконана разом з Mac Github

Приємно і легко :)

З цим нативним додатком все можна зробити, якщо я почав би його вивчати, мені просто потрібна функція push від нього.

Сподіваючись, що це допоможе користувачеві Mac раз.


0

Я виявив, що якщо я встановив двоетапну аутентифікацію в github, Eclipse не зможе підключитися до Github - що має сенс, тому що двоступінчаста автентифікація в github вимагає, щоб ви ввели номер із SMS (і Eclipse wouldn ' не маю цієї інформації).

Якщо це ваш сценарій, ви можете подумати про деактивацію двоступеневої аутентифікації в github і подивитися, чи це допомагає.


0

Для існуючих ключів ssh я думаю, що це помилка в Eclipse Juno 3.8.

Що я зробив:

1) Завантажте існуючий ключ, перейшовши до: Вікно> Налаштування> "Пошук ssh"> Вкладка управління ключами> Завантажити існуючий ключ> Виберіть приватний ключ, який у вас уже є

2) Збережіть цю клавішу, натиснувши кнопку Зберегти приватний ключ . Назвемо його id_dsa_github

3) Перевірте, спрацьовують чи ні. Вона повинна бути.

4) Тепер на загальній вкладці вийміть приватний ключ id_dsa_github і додайте свій попередній приватний ключ, натиснувши кнопку Додати приватний ключ

Тепер вам добре піти. Думаю, щонайменше один раз зробити всі речі з EGit для реєстрації , я думаю.


0

Я стикаюся з тим же питанням.

Я подумав, що це пов'язане з моїми повноваженнями та автентифікацією.

Тоді нарешті я зрозумів, що URI, який я налаштував, не є варіантом HTTP.

Я намагався натиснути на SSH URI мого Git з конфігурацією HTTP.

Перевірте свою URL-адресу в

Git Perspective> Remote> Origin> Configure Fetch> Change> Переконайтеся, що prtocal - HTTPS, а URL-адреса - версія https .


0

Я міг би використовувати консоль для натискання / витягування сховищ, але ні в затемненні. У моєму випадку затемнення, здається, не може прочитати мій приватний ключ SSH, мій ключ почався з:

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

І я помітив, що ключ мого колеги почався з:

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

Я думаю, що в даний час затемнення не може прийняти цей новий тип ключів (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/isissue/3360

Потім ви можете знову завантажити ключ у eclippse, скориставшись Налаштуваннями -> Мережеві з'єднання -> SSH2, натисніть "Додати приватний ключ" (все одно виберіть свій приватний ключ, навіть ви вже бачите ім'я у списку приватних ключів, оскільки затемнення має перезавантажити)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.