Error "Auth Failed" dengan EGit dan GitHub

98

Saya telah menginstal plugin EGit di Eclipse Helios dan saya mencoba menggunakannya dengan akun GitHub saya, tetapi ketika saya mencoba untuk mengkonfigurasinya, saya mendapatkan kesalahan "Auth Gagal".

Saya telah mencari di Google tetapi tidak berhasil ... tampaknya ada masalah dengan frasa sandi saya tetapi AFAIK EGit sedang mencari di tempat yang tepat ( /home/user/.ssh/id_rsa) dan saya tidak ada masalah dalam terhubung oleh sshatau gitklien konsol.

Beberapa blog mengatakan bahwa ada masalah dengan URI dan pengurai Egit tetapi saya masih belum menemukan solusinya.

tehsis
sumber

Jawaban:

140

Jawaban saya mungkin sudah ketinggalan jaman tapi semoga bisa bermanfaat untuk seseorang.

  1. Di Eclipse Anda, buka Window> Preferences> General> Network Connections> SSH2 (atau cukup ketik "SSH2" di kotak filter jendela preferensi).

  2. Di tab "Manajemen Kunci" , tekan tombol "Buat Kunci RSA ..." . Secara opsional, Anda dapat menambahkan komentar (biasanya alamat email) dan frasa sandi ke kunci Anda. Frasa sandi akan digunakan selama otentikasi di GitHub.

  3. Salin kunci publik yang Anda buat (dalam kotak tepat di bawah tombol "Buat Kunci RSA ...") dan tambahkan ke akun GitHub Anda.
  4. Tekan tombol "Simpan Kunci Pribadi ..." untuk menyimpan kunci RSA pribadi Anda ke dalam file. Secara default, kunci disimpan dalam direktori home SSH2 (lihat tab "Umum").

Itu dia! Sekarang Anda harus dapat memasukkan kode Anda ke repo GitHub.

Andrei Petrenko
sumber
1
Kunci pribadi saya tidak memiliki nama standar (id_rsa), jadi tidak dikenali seperti itu. Saya menambahkannya secara manual, di jendela preferensi yang Anda tunjuk, dan berfungsi dengan baik.
muriloq
18
Saya perhatikan bahwa setelah mengatur kunci SSH seperti yang Anda gambarkan, saya tidak boleh mengubah nama pengguna / kata sandi di kotak otentikasi (saya memasukkan kredensial GitHub saya). Default di kotak ini adalah nama pengguna: git dan kata sandi kosong.
harschware
1
Ini berfungsi untuk saya dengan repositori git BitBucket, saya memang harus memulai ulang Eclipse.
artlung
8
membiarkan nama pengguna sebagai git dan kata sandi kosong akhirnya berfungsi untuk saya.
Mike R
4
Berikut adalah proses untuk menambahkan kunci RSA yang dihasilkan ke akun github Anda 1) masuk ke akun github Anda 2) goto pengaturan 3) di sisi kiri Anda akan menemukan kunci SSH, klik 4) lalu klik tambahkan kunci SSH (sekarang tempel kunci SSH yang Anda hasilkan)
rajeev
27

Saya memiliki masalah yang persis sama tetapi saya menemukan obatnya dari laporan bug Eclipse!

Variabel lingkungan bernama GIT_SSH harus disetel dengan jalur ke ssh yang dapat dieksekusi [1].

Misalnya di Ubuntu Linux (10.10 64bit):

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

Setelah itu, push repositori GitHub berfungsi seperti seharusnya. Saya menguji ini dengan Eclipse Galileo dan Indigo.

Masalahnya sangat menjengkelkan dan solusinya jauh dari kata bagus. Untuk saat ini, membuat solusi permanen untuk, setidaknya pengguna Ubuntu, seseorang harus membuat variabel env permanen. Ini bisa dilakukan dengan menambahkan perintah ekspor ke ~ / .profile atau ~ / .bashrc [2]. Sebagai contoh:

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

Dan kemudian mulai ulang Eclipse untuk diterapkan.

Sumber:

Akseli Palén
sumber
Saya telah menangani masalah ini sepanjang minggu - Eclipse di bawah osx menghubungkan ke GitHub atau Asssembla. Perbaikan Anda berhasil untuk saya. Terima kasih.
ianmayo
Di Windows, openssh tidak berfungsi untuk saya. Saya harus menggunakan plink. Lihat jawaban saya.
Piotr Dobrogost
Dan itu semakin dekat dengan perbaikan yang dirilis. Di akhir laporan bug, seseorang menunjukkan cara mendownload file jsch jar terbaru secara manual dan menginstalnya secara manual agar berfungsi seperti itu. Saya hanya akan menggunakan solusi env var ini dan menunggu file jsch jar itu masuk ke rilis gerhana yang sebenarnya.
crowmagnumb
Memecahkan masalah saya. Terima kasih.
Pedram
OH TUHAN. Masalah seperti ini membuat saya bertanya-tanya mengapa Android menggunakan Eclipse sejak awal. Terima kasih banyak atas tip Anda. Itu memecahkan masalah saya, dan EGit / Eclipse sama sekali tidak membantu dengan "Auth Fail"
Calyth
16

Saya menyelesaikannya dengan memilih httpsebagai protokol dan memberikan nama pengguna dan kata sandi GitHub saya.

hari_sree
sumber
Iya! Bertentangan dengan semua hal lain yang pernah saya baca, tetapi berhasil. (Eclipse Indigo)
Owen B
http atau https jauh lebih sederhana daripada ssh
Junchen Liu
Ya, tetapi ada kasus di mana Anda perlu menggunakan ssh. Seperti membutuhkan otentikasi dua faktor di BitBucket saat bekerja dengan repositori. Anda hanya dapat bekerja melalui ssh jika Anda memerlukan otentikasi dua faktor.
Akshay Mahajan
10

Setelah menghabiskan berjam-jam mencari solusi untuk masalah ini, saya akhirnya mendapatkan emas dengan membuat perubahan yang disebutkan di Forum Eclipse .

Langkah:

Prasyarat: mysysgit diinstal dengan konfigurasi default.

1. Buat file C: /Users/Username/.ssh/config (Ganti "Username" dengan nama pengguna Windows 7. (mis. C: /Users/John/.ssh/config)) dan taruh ini di dalamnya:

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

2. Coba siapkan repositori jarak jauh sekarang di Eclipse.

Bersulang. Ini harus bekerja dengan sempurna.

Rushal A
sumber
8

Anda perlu menginstal msysgit, setelah menginstal Anda perlu membuka Git Bash dan masuk ke sana perintah ini:

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

Sekarang kunci yang Anda buat ada di C:\Users\username\.ssh(di Windows 7).
Selanjutnya Anda memuat konten kunci publik Anda ke proyek Anda di Github
In Eclipse buka Window->Preferences->General->Network->SSH2dan setel Anda ~/.sshsebagai SSH Home

Setelah itu buka Key Management tabdan Muat Kunci yang ada - atur di sini kunci pribadi Anda ~/.ssh.

Setelah itu Anda dapat mendorong proyek Anda ke Github (tetapi saya menetapkan protokol ssh, bukan git + ssh).

gennad
sumber
Terima kasih banyak, tapi sebenarnya saya sedang menjalankan bawah Arch Linux
tehsis
5

Saya memecahkan masalah yang sama dengan menambahkan kunci saya ke ssh;

ssh-add ~/.ssh/id_rsa 

lalu masukkan frasa sandi dan perlu dimulai ulang.

volkan
sumber
4

Untuk pengguna * nix yang menggunakan SSH:

Pastikan nama pengguna akun Anda di komputer lokal tidak berbeda dengan nama pengguna akun di server. Rupanya, eGit sepertinya tidak mampu menangani hal tersebut. Misalnya, jika nama pengguna Anda di mesin lokal Anda adalah 'john', dan akun yang Anda gunakan di server bernama 'git', egit gagal terhubung (untuk saya bagaimanapun juga). Satu-satunya solusi yang saya temukan adalah memastikan Anda memiliki nama pengguna yang identik di mesin lokal dan server.

Jeshurun
sumber
1
Adakah ide apakah ini masih terjadi? Aku telah membenturkan kepalaku ke dinding untuk malam ini. Kunci pribadi saya dilindungi dengan frasa sandi, yang tidak pernah diminta oleh Eclipse / eGit. Ketika saya mencoba untuk mendorong ke jarak jauh, Eclipse hanya mengeluarkan kesalahan "org.eclipse.jgit.transport.CredentialItem $ StringType Passphrase for .ssh id_rsa"
Vilsepi
2

Fourpenneth saya: kunci SSH saya diatur di Cygwin, di C: \ cygwin \ home \ <user> .ssh, jadi saya mengarahkan SSH ke folder ini daripada default (Win7) C: \ Users \ <user> \ ssh , sesuai petunjuk berikut: http://wiki.eclipse.org/EGit/User_Guide/Remote#Eclipse_SSH_Configuration

dan menggunakan protokol ssh, dan berfungsi dengan baik. Mencoba menggunakan protokol git tetap memberikan "Pengguna tidak didukung pada protokol git".

drkvogel.dll
sumber
2

Untuk kamu yang seperti saya sudah melakukan setup ssh-keys tetapi masih mendapatkan error:

Pastikan Anda melakukan pengaturan remote push . Ini bekerja untuk saya ketika saya mendapatkan kedua Tidak bisa mendapatkan repositori jarak jauh refs -problems ("... Passphrase for ..." dan "Auth fail" dalam dialog "Push ...").

Asalkan Anda sudah:

  1. Siapkan kunci SSH Anda dengan Github (Window> Preferences> General> Network Connections> SSH2)

  2. Siapkan repositori lokal Anda (Anda dapat mengikuti panduan ini untuk itu)

  3. Membuat repositori Github ( panduan yang sama )

... inilah cara Anda melakukannya:

  • Pergi ke tampilan Git Repositories (Window> Show View> Other> Git Repositories)
  • Perluas Repositori Anda dan klik kanan Remote -> "Buat Remote"
  • "Remote Name": origin, "Configure push": dicentang -> klik "OK"
  • Klik "Change ..." tombol
  • Tempel URI git Anda dan pilih protokol ssh -> klik "Selesai"
  • Sekarang, klik "Simpan dan Dorong" dan SEKARANG Anda akan mendapatkan prompt kata sandi -> masukkan kata sandi kunci publik di sini (asalkan Anda DID (dan Anda harus) mengatur kata sandi ke kunci publik Anda) -> klik "OK"
  • Sekarang Anda akan mendapatkan jendela konfirmasi yang mengatakan "Dorong ke YourRepository - origin" -> klik "OK"
  • Dorong ke upstream , tetapi kali ini gunakan "Repositori jarak jauh yang dikonfigurasi" sebagai repositori Git Tujuan Anda
  • Dapatkan sendiri secangkir kopi yang bagus!
Roger
sumber
1

Saya memperbarui plugin dengan nightly builds: http://www.eclipse.org/egit/download/

Dengan pembaruan, itu berhasil untuk saya. (Eclipse Helios, Mac OS X)

fbrandel.dll
sumber
. Itu masih tidak bekerja untuk saya :( itu telah ditingkatkan dua kali sejak saya posting ini Mungkin adalah bug di bawah GNU / Linux
tehsis
1

Sudahkah Anda mencoba menggunakan protokol ssh sebagai gantinya di git + ssh? Saya punya masalah yang sama, dan itu menyelesaikannya, meskipun dokumentasi resmi memberi tahu untuk menggunakan git + ssh

kamisama
sumber
1

Di Windows, pengaturan GIT_SSHke openssh yang disertakan dengan msys git tidak berfungsi (Eclipse macet selama commit). Menyetelnya ke TortoisePlink memecahkan masalah (saya kira plink asli juga akan bekerja). Bonus tambahan sekarang adalah Eclipse menggunakan kunci yang disimpan dalam kontes.

Piotr Dobrogost
sumber
1

Saya menyelesaikannya dengan memilih https sebagai protokol dan kemudian menambahkan nama pengguna dan kata sandi github saya

eden
sumber
1

Dalam tampilan GIT Anda di mana Anda memiliki repositori Anda, Anda akan melihat struktur seperti:

  • ranting
  • tag
  • referensi
  • remote
  • dll ...

Klik pada remote, klik kanan pada url repositori di sana dan pilih 'Ubah Kredensial'.

Fico
sumber
0

Saya menemukan postingan di forum Eclipse yang memecahkan masalah ini untuk saya.

Daniel Jonsson
sumber
0

Saya mengalami masalah yang sama yang tampaknya karena masalah konfigurasi. Aplikasi github mac osx telah membuat kunci pribadi ssh yang disebut github_rsa

Di Eclipse Anda, buka Window > Preferences > Network Connections > SSH2

Di tab umum Anda akan melihat beranda SSH2, /Users/<you username>/.sshAnda mungkin akan melihat id_dsa, id_rsa didefinisikan sebagai kunci pribadi.

Klik 'Tambahkan kunci pribadi' dan pilih github_rsa terletak /Users/<you username>/.ssh

scottyab
sumber
0

JIKA ANDA MEMILIKI FILE PEM : Dalam Eclipse, buka Window> Preferences> Network Connections> SSH2 , lalu tambahkan jalur ke file PEM Anda ke "Kunci pribadi" dan itu akan menyelesaikan masalah.

msamadi
sumber
0

Saya ingin mempublikasikan setelah saya juga memperbaiki kode Google dan mendapatkan kesalahan yang sama. Dimulai dengan video ini , tetapi pada Simpan dan terbitkan mendapat kesalahan. Saya melihat ada beberapa pertanyaan tentang ini. Beberapa adalah pengguna Windows, mereka yang paling beruntung, karena biasanya tidak ada masalah dengan perizinan dan beberapa adalah pengguna Linux.

Saya memiliki mac untuk penggunaan pengembangan seluler dan sangat sering menemui masalah ini. Sumber untuk masalah ini adalah solusi "platform independen", yang tidak cukup peduli untuk mac dan tidak memiliki akses ke rantai kunci, tempat penyimpanan sertifikat, file .pem, dan sebagainya.

Yang saya inginkan adalah tidak membuat pengaturan lingkungan, atau baris perintah, hanya klik berbasis GUI sederhana, seperti pengguna biasa.

Setengah bagian dilakukan dengan plugin Eclipse Git, bagian kedua (push to Github) dilakukan dengan Mac Github

Baik dan mudah :)

Semua dapat dilakukan dengan appp asli itu jika saya akan mulai mempelajarinya, saya hanya perlu fungsi push darinya.

Berharap ini akan membantu pengguna mac sekali.


sumber
0

Saya menemukan bahwa jika saya mengatur otentikasi dua langkah di github, Eclipse tidak dapat terhubung ke Github - yang masuk akal karena otentikasi dua langkah di github mengharuskan Anda untuk memasukkan nomor dari SMS (dan Eclipse tidak mau ' t memiliki informasi ini).

Jika ini adalah skenario Anda, Anda dapat mempertimbangkan untuk menonaktifkan otentikasi dua langkah Anda di github, dan lihat apakah itu membantu.

kevlaria.dll
sumber
0

Untuk kunci ssh yang sudah ada, menurut saya ini adalah bug di Eclipse Juno 3.8.

Apa yang saya lakukan:

1) Muat kunci yang ada dengan membuka: Window> Preferences> "Search ssh"> Key Management Tab> Load Existing Key> Pilih private key yang sudah Anda miliki

2) Simpan kunci itu dengan mengklik tombol Simpan Kunci Pribadi . Beri nama id_dsa_github

3) Sekarang periksa apakah dorong dan tarik berfungsi atau tidak. Harus.

4) Sekarang di tab umum, hapus kunci pribadi id_dsa_github dan tambahkan kunci pribadi Anda sebelumnya dengan mengklik tombol Tambahkan kunci pribadi

Sekarang Anda siap untuk pergi. Perlu setidaknya satu kali untuk melakukan semua hal dari EGit untuk mendaftar , saya kira.

soham
sumber
0

Saya mengalami masalah yang sama.

Saya pikir itu ada hubungannya dengan kredensial dan otentikasi saya.

Kemudian akhirnya saya menyadari bahwa URI yang saya konfigurasikan bukanlah varian HTTP.

Saya mencoba mendorong ke SSH URI Git saya dengan konfigurasi HTTP.

Periksa URL Anda di

Git Perspective> Remote> Origin> Configure Fetch> Change> Pastikan prtocal adalah HTTPS dan URL adalah versi https .

MohanRaj
sumber
0

Saya bisa menggunakan konsol untuk mendorong / menarik repositori, tetapi tidak ada di gerhana. Dalam kasus saya, eclipse sepertinya tidak dapat membaca kunci pribadi SSH saya, kunci saya dimulai dengan:

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

Dan saya perhatikan kunci rekan saya dimulai dengan:

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

Saya pikir saat ini gerhana tidak dapat mengambil jenis kunci baru ini (OPENSSH PRIVATE KEY).

Saya menyelesaikannya dengan: Buat kembali kunci ssh Anda dengan menggunakan perintah:

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

Ini akan menggunakan cara lama untuk menghasilkan kunci: jadi ini akan dimulai dengan header:

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

lihat informasi lebih lanjut tentang:

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

Kemudian Anda dapat memuat kembali kunci di eclilpse dengan menggunakan Preferensi -> Koneksi jaringan -> SSH2, klik "Tambahkan Kunci Pribadi" (tetap pilih kunci pribadi Anda, bahkan Anda sudah melihat nama di daftar kunci pribadi, karena eclipse harus muat ulang)

Angia
sumber