saya menggunakan github dan telah berhasil menambahkan dan menyinkronkan file di laptop saya sebelumnya.
baru-baru ini saya mulai mendapatkan " PuTTY Fatal Error: Disconnected: Tidak ada metode otentikasi yang didukung " setelah menjalankan:
git pull origin master (atau dorong)
namun
ssh [email protected] mengembalikan tanggapan yang benar: ERROR: Hai nama pengguna! Anda berhasil mengautentikasi, tetapi GitHub tidak menyediakan akses shell. Koneksi ke github.com ditutup.
setelah menggali di sekitar github saya menemukan morcel ini:
Tidak ada metode autentikasi yang didukung yang tersedia. Anda harus mengetahui variabel lingkungan GIT_SSH, yang digunakan oleh git untuk menemukan klien berbahasa ssh, jika ssh tidak berfungsi untuk Anda. Instalasi git mungkin menggunakan plink.exe (melalui GIT_SSH) untuk melakukan otentikasi. Jika demikian, pastikan Anda menjalankan pageant.exe, dan kunci yang Anda buat untuk github dimuat ke dalamnya. Ini memberikan kunci untuk plink.exe; tanpa itu, kesalahan di atas akan terjadi.
tidak yakin apa itu plink.exe atau peagant.exe .. dan fakta bahwa ssh [email protected] tampaknya diautentikasi dengan benar membuat saya bertanya-tanya apa solusi terbaik di sini .. saya pasti tidak ingin membuat penyiapan saya terlalu rumit jika tidak perlu.
GIT_SSH
ke.bash_profile
dan tidak.profile
GIT_SSH="D:\Program Files\Git\usr\bin\ssh.exe"
Menggunakan TortoiseGit
TortoiseGit> Pengaturan ... Jaringan ... Klien SSH:
C:\Program Files\Git\usr\bin\ssh.exe
Lokasi saya bervariasi. Di satu komputer, itu masuk
C:\Program Files (x86)\Git\bin\ssh.exe
sumber
Karena Anda bertanya: plink & pageant adalah bagian dari PuTTY suite, yang merupakan implementasi SSH yang mendukung Linux & Windows dan sepenuhnya dominan di Windows.
SSH
jika Anda pernah menggunakan Telnet, itu seperti itu (tetapi lebih aman): ini memungkinkan Anda mengakses bash shell (baris perintah) dari jarak jauh dari host Linux.
Dempul
Di Windows, ini adalah perangkat lunak dominan untuk mengakses baris perintah host Linux dari jarak jauh di bawah protokol SSH (di atas). Di Windows, ekstensi .exe adalah untuk file yang dapat dieksekusi. Jadi catatan tentang plink.exe & pageant.exe mungkin tidak berlaku jika Anda menggunakan Linux . PuTTY termasuk
Dari ( http://en.wikipedia.org/wiki/Secure_Shell#Key_management )
Jadi github di-host di mesin Linux dan menggunakan SSH untuk mengamankan koneksi. SSH mengautentikasi dengan kata sandi atau kunci, banyak host (github?) Hanya mengautentikasi dengan kunci. Setup Anda tampaknya mencoba untuk mengotentikasi dengan kunci. Kunci dan host bukan satu-untuk-satu: Anda dapat memiliki dua kunci untuk host yang sama dan / atau dua host untuk kunci yang sama, jadi keduanya perlu dikelola. Jika Anda menggunakan Windows, sesi SSH Anda mungkin diakses melalui plink dan kunci Anda mungkin dikelola oleh Pageant.
Impor kunci yang Anda perlukan setiap kali Anda memuat Pageant. Jika Anda mengikuti panduan yang mengatakan "impor kunci Anda", dan melihatnya berfungsi, tetapi tidak berfungsi sekarang, lihat Bab 9: Menggunakan Pageant untuk otentikasi .
Satu tip terakhir jika Anda menggunakan Windows: Anda mungkin memiliki beberapa contoh suite PuTTY yang diinstal oleh berbagai alat. TortoiseGit, misalnya, menginstalnya sendiri.
sumber
Saya mengalami masalah ini karena saya
GIT_SSH
menunjuk ke versi TortoiseSVN dariPlink.exe
. Saya mengubahnya untuk menunjuk ke versi TortoiseGit, memulai ulang cmd dan berhasil.Saya tidak dapat mengingat dengan tepat, tetapi versi TortoiseSVN mungkin adalah versi 32-bit, dan versi TortoiseGit adalah 64-bit (terletak di
Program Files
, bukanProgram Files (x86)
).Periksa ulang
GIT_SSH
env var Anda.Saya lebih suka menggunakan git dengan normal
cmd.exe
(di Console2 tentunya)sumber
Untuk Pengguna TortoiseGit di Windows
Awalnya, saya biasa mengatur sebagian besar repositori Github / Bitbucket saya menggunakan URL repositori SSH karena (aslinya) ini digunakan sebagai satu-satunya cara mudah untuk mencegah TortoiseGit meminta kata sandi Anda pada setiap tindakan.
Tapi mengatur TortoiseGit seperti ini selalu menyakitkan. Setiap kali saya butuh waktu berjam - jam untuk mengatur dengan benar, karena opsi penginstalan default sepertinya tidak pernah berfungsi (bahkan hingga 2016, heesh!).
Tetapi TortoiseGit sekarang memiliki manajemen kata sandi yang lebih baik untuk HTTPS, dan Github benar-benar merekomendasikan penggunaan URL HTTPS jika memungkinkan.
Manfaat HTTPS adalah:
pageant.exe
terus - menerus berjalan (yang meminta kata sandi Anda pada setiap peluncuran)sumber
Jika Anda menggunakan Pageant dan mendapatkan kesalahan yang dijelaskan dalam pertanyaan setelah me-reboot PC Anda (atau menutup dan membuka kembali Pageant):
Kesalahan ini dapat disebabkan oleh Pageant tidak memuat kunci SSH GitHub Anda secara aktif. Secara default, Pageant TIDAK secara otomatis memuat kunci dari sesi sebelumnya saat dimulai.
Untuk memuat kunci:
Untuk menghindari masalah ini di masa mendatang, Anda dapat mengonfigurasi Pageant untuk memuat kunci Anda secara otomatis saat dimulai. (Kontes akan secara otomatis meminta kata sandi jika kunci Anda dilindungi kata sandi.)
Langkah-langkah untuk melakukan ini (dengan asumsi Anda sudah memiliki Pageant yang dikonfigurasi untuk dijalankan ketika Windows dimulai):
shell:startup
)Referensi dan detail lengkap: http://blog.shvetsov.com/2010/03/making-pageant-automatically-load-keys.html
sumber
Masalah saya adalah saya mencoba menggunakan nama pengguna github saya. Rupanya saat menggunakan Github (atau apakah itu hal Git?) , Jika Anda menggunakan otentikasi berbasis kunci, Anda perlu mengatur nama pengguna Anda ke
git
.Saya tidak yakin mengapa Anda bahkan membutuhkan nama pengguna sama sekali - mungkin seseorang yang lebih berpengetahuan dapat menjelaskannya?
sumber
ssh://[email protected]/myname/repo.git
akan bekerja dengan baik. Kerja bagus. Untuk alasannya, saya berasumsi itu untuk mengunci keamanan. Login pengguna 'git' telah dinonaktifkan, jadi tidak ada yang bisa masuk ke sistem dengan cara itu. Mereka harus memiliki kunci yang valid bahkan untuk berbicara dengan Github, dan setelah mereka memiliki kunci yang valid, mereka dapat mencocokkannya dengan pengguna untuk memasukkannya.Di mesin Windows 7 saya menjalankan Github untuk Windows menggunakan git versi 1.8.3.msysgit.0. Saya menemukan bahwa memperbarui variabel lingkungan sistem saya GIT_SSH ke C: \ Program Files (x86) \ Git \ bin \ ssh.exe sepertinya berhasil. Ini juga memperbaiki masalah saya dengan menghubungi repo git OpenShift.
sumber
Bekerja untuk saya di Windows 8: Variabel GIT_SSH mengarah ke plink.exe, Mengubahnya di pengaturan sistem untuk mengarah ke ssh biner, dan itu telah memperbaiki masalah. Untuk mengetahui jalur lengkap ke ssh, jalankan:
sumber
Untuk mengatasi masalah ini, inilah yang saya lakukan.
Saya menggunakan Git Bash di Windows 10
Saya memulai Pageant, menekan Add Key,
dinavigasi ke folder C: \ Users \ username \ .ssh dan pilih kunci saya
Saya kemudian mencoba melakukan git push dan kali ini berhasil.
sumber
Kesalahan yang sama, solusi berbeda yang disebutkan di sini - Masalah saat menyambung ke GitHub di Windows, bahkan melalui Putty
sumber
Saya mengalami masalah yang sama ini, namun solusi GIT_SSH tampaknya berfungsi sekali untuk saya. Setelah komputer restart, saya menyadari itu adalah sesuatu yang lain, karena saya dapat mengkloning repositori pribadi saya tanpa masalah menggunakan Git Bash atau Command Prompt, tetapi tidak di Sublime Text 3 dengan plugin SublimeGit. Solusi saya sederhana dan sebenarnya adalah apa yang @BlueRaja - Danny Pflughoeft sebutkan tetapi saya pikir itu bisa menggunakan beberapa arah;)
Pada dasarnya Anda hanya perlu mengedit
~/.ssh/config
dan memastikan nama penggunanyagit
. Anda juga dapat memberitahukannya untuk menggunakan kunci SSH tertentu untuk Github -~/.ssh/config
File saya terlihat seperti berikut:Saya memiliki kunci khusus untuk Github karena banyaknya hal lain yang saya lakukan sepanjang hari, tetapi jika Anda hanya punya satu maka biasanya akan
~/.ssh/id_rsa.pub
seperti yang dijelaskan Github di sini .Saya tahu setiap orang memiliki solusi yang berbeda, tetapi saya akan meninggalkan ini di sini untuk siapa saja yang mungkin menemukan artikel ini tanpa perbaikan. Semoga berhasil!
sumber
Saya mendapat kesalahan ini saat menggunakan TortoiseGit untuk mengkloning repositori dari GitHub. Diperbaiki dengan mengklik "Load Putty Key" dan memilih file kunci (* .pkk) dalam dialog Git clone.
sumber
Anda bisa mendapatkan plink & pageant dari sini: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Mereka adalah alat Putty.
sumber
Saya mendapat masalah ini (ssh langsung berfungsi, tetapi git pull gagal) karena git remote saya tidak seperti yang saya kira.
Ya, ya, saya tahu itu kesalahan yang bodoh, tetapi itu terjadi dan perlu diperiksa.
Menggunakan
git remote -v
sumber
Saya mengalami masalah serupa setelah memperbarui GitExtensions ke versi 3.3.0.7719
Entah bagaimana itu mengembalikan pengaturan otentikasi saya untuk menggunakan PuTTY daripada OpenSSH.
Dalam versi itu, berikut adalah menu yang saya gunakan untuk mengaktifkan OpenSSH lagi:
sumber