EGit ve GitHub ile "Kimlik Doğrulama Başarısız" hatası


98

Eclipse Helios'a EGit eklentisini yükledim ve GitHub hesabımla kullanmaya çalışıyorum, ancak yapılandırmaya çalıştığımda "Yetkilendirme Başarısız" hatası alıyorum.

Googling yapıyordum ama şansım yok ... parolamla ilgili bir sorun gibi görünüyor ama AFAIK EGit doğru yere bakıyor ( /home/user/.ssh/id_rsa) ve bağlantı sshveya gitkonsol istemcisi ile bağlantıda sorunum yok .

Bazı bloglar bunun URI ve Egit'in ayrıştırıcısı ile ilgili bir sorun olduğunu söylüyor, ancak yine de bir çözüm bulamadım.


Yanıtlar:


140

Cevabım geçerliliğini yitirmiş olabilir ama umarım birisi için faydalı olabilir.

  1. Eclipse'inizde Pencere> Tercihler> Genel> Ağ Bağlantıları> SSH2'ye gidin (veya tercihler penceresi filtre kutusuna sadece "SSH2" yazın).

  2. In "Anahtar Yönetimi" sekmesi basına "RSA Key ... Oluştur" düğmesine basın. İsteğe bağlı olarak, anahtarınıza yorum (genellikle e-posta adresi) ve parola ekleyebilirsiniz. Parola, GitHub'da kimlik doğrulama sırasında kullanılacaktır.

  3. Oluşturulan genel anahtarınızı ("RSA Anahtarı Oluştur ..." düğmesinin hemen altındaki bir kutuda) kopyalayın ve GitHub hesabınıza ekleyin.
  4. Basın "Kaydet Özel Anahtar ..." düğmesine dosya halinde özel RSA anahtarını kaydedin. Varsayılan olarak anahtarlar SSH2 ana dizininde saklanır (bkz. "Genel" sekmesi).

Bu kadar! Artık kodunuzu GitHub deposuna aktarabilmelisiniz.


1
Özel anahtarımın standart adı (id_rsa) olmadığı için bu şekilde tanınmıyordu. Sizin tarafınızdan gösterilen tercih pencerelerine manuel olarak ekledim ve iyi çalıştı.
muriloq

18
Açıkladığınız gibi SSH anahtarını kurduktan sonra kimlik doğrulama kutusundaki kullanıcı adını / şifreyi değiştirmemem gerektiğini fark ettim (GitHub kimlik bilgilerimi koyuyordum). Bu kutudaki varsayılan kullanıcı adıdır: git ve şifre boştur.
harschware

1
Bu benim için bir BitBucket git deposuyla çalıştı, yine de Eclipse'i yeniden başlatmak zorunda kaldım.
artlung

8
kullanıcı adını git ve şifreyi boş bırakmak nihayet benim için çalıştı.
Mike R

4
Oluşturulan RSA anahtarını github hesabınıza ekleme işlemi 1) github hesabınıza giriş yapın 2) ayarlara gidin 3) sol tarafta SSH anahtarlarını bulacaksınız, tıklayın 4) ardından SSH anahtarları ekle'ye tıklayın (şimdi SSH anahtarını yapıştırın oluşturdunuz)
rajeev

27

Tam olarak aynı problemi yaşadım ama tedaviyi Eclipse hata raporundan buldum!

GIT_SSH adlı bir ortam değişkeni, bir ssh yürütülebilir dosyasının [1] yolu ile ayarlanmalıdır.

Örneğin Ubuntu Linux'ta (10.10 64bit):

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

Bundan sonra GitHub deposuna itmeler olması gerektiği gibi çalışır. Bunu Eclipse Galileo ve Indigo ile test ettim.

Sorun gerçekten can sıkıcı ve çözüm hoş olmaktan uzak. Şimdilik, çözümü en azından Ubuntu kullanıcıları için kalıcı hale getirmek, env değişkenini kalıcı hale getirmek gerekiyor. Gönderme komutu ~ / .profile veya ~ / .bashrc [2] 'ye eklenerek yapılabilir. Örneğin:

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

Ve sonra etkili olması için Eclipse'i yeniden başlatın.

Kaynaklar:


Bütün hafta bu problemle uğraştım - GitHub veya Asssembla'ya bağlanan osx altında Eclipse. Düzeltmeniz benim için çalışıyor. Teşekkürler.
ianmayo

Windows'ta openssh benim için çalışmadı. Plink kullanmak zorunda kaldım. Cevabımı gör.
Piotr Dobrogost

Ve serbest bırakılan bir düzeltmeye yaklaşıyor. Hata raporunun sonunda birisi en son jsch jar dosyasını manuel olarak nasıl indireceğini ve bu şekilde çalışması için manuel olarak nasıl kuracağını gösterdi. Ben sadece bu env var çözümünü uygulayacağım ve o jsch jar dosyasının gerçekte tutulma sürümüne girmesini bekleyeceğim.
crowmagnumb

Sorunumu çözdüm. Teşekkürler.
Pedram

AMAN TANRIM. Bunun gibi sorunlar, Android'in neden Eclipse kullandığını merak etmeme neden oluyor. Tavsiyen için çok teşekkürler. Bu benim sorunumu çözdü ve EGit / Eclipse "
Yetkilendirme

16

httpProtokol olarak seçip GitHub kullanıcı adımı ve şifremi vererek sorunu çözdüm.


Evet! Okuduğum her şeyin aksine, ama işe yaradı. (Eclipse Indigo)
Owen B

http veya https
ssh'den

Evet, ancak ssh kullanmanız gereken durumlar vardır. Depolarla çalışırken BitBucket'ta iki faktörlü kimlik doğrulamaya ihtiyaç duymak gibi. Yalnızca iki faktörlü kimlik doğrulamaya ihtiyacınız olduğunda ssh üzerinden çalışabilirsiniz.
Akshay Mahajan

10

Bu soruna çözüm bulmak için saatler harcadıktan sonra nihayet Eclipse Forum'da bahsedilen değişiklikleri yaparak altını vurdum .

Adımlar:

Önkoşullar: mysysgit varsayılan yapılandırmayla kurulur.

1. C: /Users/Username/.ssh/config dosyasını oluşturun ("Kullanıcı Adı" yerine Windows 7 kullanıcı adınızı değiştirin (örneğin C: /Users/John/.ssh/config)) ve bunu içine koyun:

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

2. Uzak depoyu şimdi Eclipse'de kurmayı deneyin.

Şerefe. Mükemmel çalışmalı.


8

Msysgit'i kurmanız gerekir, kurduktan sonra Git Bash'i açmanız ve oraya şu komutları girmeniz gerekir:

$ 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)

Artık üretilen anahtarlarınız C:\Users\username\.ssh(Windows 7'de) içindedir.
Daha sonra, açık anahtarınızın içeriğini Github
In Eclipse'deki projenize Window->Preferences->General->Network->SSH2yükleyin ~/.sshve SSH Ana Sayfası olarak ayarlayın

Bundan sonra gidin Key Management tabve Mevcut Anahtarı Yükleyin - burada özel anahtarınızı girin ~/.ssh.

Bundan sonra projenizi Github'a gönderebilirsiniz (ancak git + ssh değil, ssh protokolünü ayarlıyorum).


Çok teşekkürler, ama aslında onu Arch Linux altında çalıştırıyorum
tehsis

5

Anahtarımı ssh'a ekleyerek aynı sorunu çözdüm;

ssh-add ~/.ssh/id_rsa 

sonra parolayı girin ve yeniden başlatmanız gerekiyor.


4

SSH kullanan * nix kullanıcıları için:

Yerel makinenizdeki hesabınızın kullanıcı adının, sunucudaki hesabın kullanıcı adından farklı olmadığından emin olun. Görünüşe göre eGit bunun üstesinden gelemiyor. Örneğin, yerel makinenizdeki kullanıcı adınız 'john' ise ve sunucuda kullandığınız hesabın adı 'git' ise, egit bağlantı kuramaz (yine de benim için). Bulduğum tek çözüm, hem yerel makinede hem de sunucuda aynı kullanıcı adlarına sahip olduğunuzdan emin olmaktır.


1
Herhangi bir fikir hala bu durumda mı? Bu akşam kafamı duvara vuruyorum. Özel anahtarım, Eclipse / eGit'in asla istemediği bir parola ile korunuyor. Uzaktan kumandaya itmeyi denediğimde, Eclipse sadece "org.eclipse.jgit.transport.CredentialItem $ .ssh id_rsa için StringType Parolası" hatası veriyor
Vilsepi


2

Dört pentim: SSH anahtarlarım Cygwin'de C: \ cygwin \ home \ <user> .ssh konumunda kuruldu, bu yüzden SSH'yi varsayılan (Win7) C: \ Users \ <user> \ ssh yerine bu klasöre işaret ettim , bu talimatlara göre: http://wiki.eclipse.org/EGit/User_Guide/Remote#Eclipse_SSH_Configuration

ve ssh protokolünü kullandı ve iyi çalışıyor. Git protokolünü kullanmaya çalışmak, yine de "Kullanıcı git protokolünde desteklenmiyor" veriyor.


2

Benim gibi, zaten ssh anahtarlarını kuran ama yine de hataları alan sizler için:

Bir uzaktan kumanda kurduğunuzdan emin olun . Hem Uzak depo refs alınamıyor -problemlerini ("... için parola ..." ve "Gönder ..." iletişim kutusundaki "Yetkilendirme başarısız") aldığımda benim için çalıştı .

Halihazırda yapmanız şartıyla:

  1. SSH anahtarlarınızı Github ile ayarlayın (Pencere> Tercihler> Genel> Ağ Bağlantıları> SSH2)

  2. Yerel deponuzu kurun ( bunun için bu kılavuzu takip edebilirsiniz )

  3. Bir Github deposu oluşturdu ( aynı kılavuz )

... işte nasıl yapıyorsun:

  • Git Git Depoları görünüm (Pencere> Show Görünüm> Diğer> Git Depoları)
  • Deponuzu genişletin ve Uzaktan Kumandalar -> "Uzaktan Oluştur" u sağ tıklayın
  • "Uzak Ad": kaynak, "Göndermeyi yapılandır": işaretlendi -> "Tamam" ı tıklayın
  • Click "Değiştir ..." butonuna
  • Git URI'nizi yapıştırın ve ssh protokolünü seçin -> "Bitir" i tıklayın
  • Şimdi, "Kaydet ve Gönder" i tıklayın ve ŞİMDİ bir parola istemi almalısınız -> genel anahtar parolasını buraya girin (genel anahtarınıza bir parola AYDINIZ (ve bunu yapmanız gerekir) şartıyla) -> "Tamam" ı tıklayın
  • Şimdi " Deponuza Gönderildi - köken" yazan bir onay penceresi almalısınız -> "Tamam" ı tıklayın
  • Yukarı akışa aktarın, ancak bu seferHedef Git kod deponuz olarak "Yapılandırılmış uzak depoyu" kullanın
  • Git kendine hak edilmiş bir kahve al!


1

Git + ssh yerine ssh protokolünü kullanmayı denediniz mi? Ben de aynı sorunu yaşıyorum ve bu sorunu çözdü, resmi belgeler git + ssh kullanmayı söylese de


1

Windows'ta, GIT_SSHmsys git ile birlikte gelen openssh'ı ayarlamak işe yaramadı (Tutulma sırasında Eclipse askıda kaldı). TortoisePlink olarak ayarlamak sorunu çözdü (sanırım orijinal görüntü de işe yarayacaktı). Eklenen bonus artık Eclipse yarışmasında saklanan anahtarları kullanıyor.


1

Protokol olarak https'yi seçerek ve ardından github kullanıcı adımı ve parolamı ekleyerek çözdüm


1

Depolarınızın bulunduğu GIT görünümünüzde aşağıdaki gibi bir yapı göreceksiniz:

  • şubeler
  • etiketleri
  • Referanslar
  • uzaktan kumandalar
  • vb...

Uzaktan kumandalara tıklayın, oradaki arşivin url'sine sağ tıklayın ve 'Kimlik Bilgilerini Değiştir'i seçin.



0

Yapılandırma sorununa bağlı görünen aynı sorunu yaşıyordum. Github mac osx uygulaması, github_rsa adında bir ssh özel anahtarı oluşturmuştu

Senin tutulmanında git Window > Preferences > Network Connections > SSH2

Genel sekmede SSH2 ana sayfasını /Users/<you username>/.sshgörmelisiniz, muhtemelen id_dsa, özel anahtarlar olarak tanımlanan id_rsa'yı göreceksiniz.

'Özel anahtar ekle'yi tıklayın ve bulunan github_rsa'yı seçin /Users/<you username>/.ssh


0

PEM DOSYANIZ VARSA : Eclipse'de Pencere> Tercihler> Ağ Bağlantıları> SSH2'ye gidin ve ardından PEM dosyanızın yolunu "Özel anahtarlar" a ekleyin ve bu sorunu çözmelidir.


0

Bir kez ben de bir google kodu düzeltmesi yapmak istedim ve aynı hatayı aldım. Başlama Bu videoyla , ancak Kaydet ve yayınla'da bir hata oluştu. Bununla ilgili birkaç soru olduğunu gördüm. Bazıları Windows kullanıcıları, bunlar en şanslılar çünkü genellikle izinlerle ilgili bir sorun yok ve bazıları Linux kullanıcıları.

Mobil geliştirme kullanımı için bir Mac'im var ve bu sorunlarla çok sık karşılaşıyorum. Bu sorunların kaynağı, mac için yeterince umursamayan ve anahtar zincirine erişimleri olmayan, sertifikaların, .pem dosyalarının vb. Depolandığı "platformdan bağımsız" çözümlerdir.

Tek istediğim, herhangi bir ortam ayarı veya komut satırı yapmak değil, sadece sıradan bir kullanıcı gibi basit GUI tabanlı tıklamalar yapmak.

Yarım kısım Eclipse Git eklentisi ile yapıldı, ikinci kısım (Github'a it) ile yapıldı Mac Github ile yapıldı

Güzel ve kolay :)

Her şey o yerel uygulama ile yapılabilir, eğer onu öğrenmeye başlarsam, ondan sadece push işlevine ihtiyacım var.

Bir kez Mac kullanıcısına yardımcı olacağını umuyoruz.


0

Github'da iki aşamalı kimlik doğrulamasını ayarlarsam, Eclipse'in Github'a bağlanamayacağını keşfettim - bu mantıklı çünkü github'daki iki aşamalı kimlik doğrulama, bir SMS'den bir numara girmenizi gerektiriyor (ve Eclipse bunu yapmaz) Bu bilgiye sahip değilsiniz).

Senaryonuz buysa, github'da iki aşamalı kimlik doğrulamanızı devre dışı bırakmayı düşünebilir ve bunun yardımcı olup olmadığına bakabilirsiniz.


0

Mevcut ssh anahtarları için, Eclipse Juno 3.8'de bir hata olduğunu düşünüyorum.

Ben ne yaptım:

1) Mevcut anahtarı şuraya giderek yükleyin: Pencere> Tercihler> "ssh Ara"> Anahtar Yönetimi Sekmesi> Mevcut Anahtarı Yükle> Zaten sahip olduğunuz özel anahtarı seçin

2) Özel Anahtarı Kaydet düğmesini tıklayarak bu anahtarı kaydedin . O Let adı id_dsa_github

3) Şimdi itme ve çekmenin çalışıp çalışmadığını kontrol edin. Olmalı.

4) Şimdi genel sekmede, id_dsa_github özel anahtarını kaldırın ve Özel anahtar ekle düğmesine tıklayarak önceki özel anahtarınızı ekleyin

Şimdi gitmekte iyisin. EGit'ten kaydolmak için her şeyi yapmak en az bir zaman alıyor sanırım.


0

Ben de aynı sorunla karşılaşıyorum.

Kimlik bilgilerim ve kimlik doğrulama ile ilgili bir şey olduğunu düşündüm.

Sonunda yapılandırdığım URI'nin HTTP değişkeni olmadığını fark ettim.

Git'imin SSH URI'sına HTTP yapılandırması ile göndermeye çalışıyordum.

URL'nizi kontrol edin

Git Perspektifi> Uzaktan Kumandalar> Kaynak> Getirmeyi Yapılandır> Değiştir> Prtocal'ın HTTPS ve URL'nin https sürümü olduğundan emin olun .


0

Depoları itmek / çekmek için konsolu kullanabilirim, ancak tutulmada hayır. Benim durumumda, tutulma SSH özel anahtarımı okuyamıyor gibi görünüyor, anahtarım şununla başladı:

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

Ve meslektaşımın anahtarının şununla başladığını fark ettim:

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

Şu anda tutulmanın bu yeni anahtar türünü (OPENSSH PRIVATE KEY) alamayacağını düşünüyorum.

Bunu şu şekilde çözdüm: ssh anahtarınızı şu komutu kullanarak yeniden oluşturun:

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

Bu, anahtarı oluşturmak için eski yolu kullanacaktır: bu nedenle başlıklarla başlayacaktır:

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

daha fazla bilgi için bkz .:

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

Ardından, Tercihler -> Ağ bağlantıları -> SSH2'yi kullanarak anahtarı tekrar eclilpse'de yükleyebilirsiniz, "Özel Anahtar Ekle" yi tıklayın (yine de özel anahtarınızı seçin, adı özel anahtarlar listesinde görseniz bile, tutulma yeniden doldur)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.