Saya mencoba untuk mengkloning repo dari akun BitBucket saya ke laptop Windows 10 saya (menjalankan GitBash). Saya telah menyelesaikan semua langkah yang diperlukan untuk menghubungkan (mengatur kunci SSH saya, diverifikasi oleh SSHing sukses [email protected], dll). Namun, setiap kali saya mencoba untuk mengkloning repo, prompt terus menutup setelah mengkonfirmasi bahwa saya ingin cache kunci Bitbucket.
User@Laptop MINGW64 /C/Repos
$ git clone [email protected]:mygbid/test.git
Cloning into 'test'...
The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40
If you trust this host, enter "y" to add the key to
PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, without
adding the key to the cache, enter "n".
If you do not trust this host, press Return to abandon the
connection.
Store key in cache? (y/n) y
Tidak ada file yang dikloning, dan hasilnya adalah repo kosong. Mencoba untuk memulai master git pull asal dari repo ini juga meminta untuk men-cache kunci, lalu hang tanpa umpan balik. Meskipun tidak meminta kunci untuk di-cache ketika saya melakukan tes SSH, operasi git selalu meminta kunci setiap kali sebelum gagal.
Dengan tidak ada pesan kesalahan untuk bekerja, saya benar-benar bingung apa yang salah. Saya sudah mencoba beberapa repo, termasuk yang sangat kecil, tetapi tidak berhasil sama sekali.
putty
untuk menambahkangithub
kunci dalam cache bekerja untuk sayabitbucket.org
)sumber
Untuk melakukan ini dari PowerShell, buka jendela PowerShell dan rekatkan sebagai berikut:
atau dengan versi mandiri Putty:
Juga perlu diketahui adalah bahwa dempul menyimpan host yang dikenal di bawah kunci registri :
Untuk pintas di atas, Anda bisa memasukkan yang berikut ini dalam
.reg
file dan menjalankannya:inti putty-hosts.reg
sumber
FATAL ERROR: Disconnected: No supported authentication methods available (server sent: publickey)
-P <port>
argumen.Saya berhasil membuatnya bekerja dengan menjalankan plink secara langsung, setelah kontes berjalan menggunakan perintah plink secara langsung -
plink.exe -agent -v [email protected]
kemudian setelah git ini bekerja tanpa menggantung.sumber
Untuk mengatasi masalah ini, saya mengkonfigurasi GitBash untuk menggunakan
-batch
opsi plink with . Opsi ini menonaktifkan semua prompt - plink akan berhenti tanpa menggantung dan tidak akan menambahkan sidik jari kunci apa pun ke cache.Untuk menambahkan
-batch
parameter ke perintah plink yang dijalankan oleh GitBash, Anda dapat mengatur opsi konfigurasi git:Atau atur
GIT_SSH_COMMAND
variabel lingkungan.Output ketika Anda mengkloning repo dari host yang tidak dikenal akan mirip dengan ini:
Setelah pesan ini, Anda dapat menambahkan kunci ke cache dengan perintah:
KETERANGAN : Tolong periksa apakah plink ada di Anda
PATH
. Atau gunakan jalur seperti UNIX di opsi konfigurasi GitBash, mis:sumber
Bahkan setelah melakukan solusi yang disebutkan dalam jawaban lain, Anda mungkin mengalami kesalahan seperti:
Untuk menyelesaikan kedua masalah sekaligus, ubah git bash untuk menggunakan SSH daripada Putty dengan menambahkan berikut ini ke
~/.profile
file Anda (C:\Users\<Username>\.profile
). Jika Anda belum memiliki file ini, buat file baru dengan baris ini.Kemudian buka jendela git bash baru dan coba
git clone
ataugit pull
lagi.Perhatikan bahwa ini mungkin mengharuskan Anda untuk membuat kunci SSH jika Anda belum memilikinya. Untuk melakukan ini, ikuti instruksi di situs Bitbucket .
Lihat pertanyaan SO ini untuk info terkait.
sumber
Di git bash shell Anda, periksa keberadaan GIT_SSH:
echo $GIT<tab><tab>
Jika ada dan diatur ke dempul, jalankan:
unset GIT_SSH
Anda mungkin ingin memasukkan ini ke dalam salah satu skrip startup git bash.
Ini BUKAN solusi universal. Ini berhasil dalam kasus khusus kami.
sumber
Kedengarannya agak konyol, tetapi setelah mencoba semua hal di atas, saya memutuskan untuk menginstal ulang Git Bash dengan opsi default dan berhasil.
sumber