Ralat Git semasa menyambung ke repositori jauh: "Pengesahan kunci hos gagal"
P粉668113768
2023-08-27 12:34:09
<p>Saya cuba menyambung ke repositori Git jauh yang berada pada pelayan web saya dan mengklonkannya ke komputer saya. </p>
<p>Arahan saya menggunakan format berikut: </p>
<pre class="brush:php;toolbar:false;">git clone ssh://username@domain.example/repository.git</pre>
<p>Ini berfungsi dengan baik untuk kebanyakan ahli pasukan saya. Biasanya selepas menjalankan arahan ini, Git akan meminta kata laluan pengguna dan kemudian menjalankan klon. Walau bagaimanapun, apabila berjalan pada salah satu mesin saya, saya mendapat ralat berikut: </p>
<blockquote>
<p>Pengesahan kunci hos gagal. </p>
<p>FATAL: Tidak dapat membaca dari jauh
repositori. </p>
</blockquote>
<p>Kami tidak menggunakan kunci SSH untuk menyambung ke repositori ini, jadi saya tidak pasti mengapa Git menyemak kunci pada mesin tertentu ini. </p>
Seperti yang saya lakukan sebelum ini dalam pengklonan repositori git mengakibatkan ralat - Pengesahan kunci hos gagal. maut: Bahagian terpencil dimatikan tanpa diduga , menambahkan GitHub pada senarai hos yang diketahui:
Anda menyambung melalui protokol SSH, seperti yang ditunjukkan oleh awalan
ssh://
pada URL klon. Dengan SSH, setiap hos mempunyai kunci. Pelanggan mengingati kunci hos yang dikaitkan dengan alamat tertentu dan menolak sambungan jika kunci hos berubah. Ini menghalang serangan man-in-the-middle.domain.example
的主机密钥已更改。 如果您觉得这不可疑,请通过编辑${HOME}/.ssh/known_hosts
删除行,从本地缓存中删除旧密钥domain.example
Atau biarkan utiliti SSH melakukannya untuk andaDari sini, anda boleh merakam sendiri kunci yang dikemas kini
Atau, sama seperti, biarkan
ssh
在您下次使用git fetch
、git pull
或git 连接时为您完成此操作推送
(甚至是普通的ssh domain.example
), jawab "Ya" apabila digesaSebab gesaan ini ialah kunci masuk
domain.example
删除后不再位于您的known_hosts
中,并且可能不在系统的/etc/ssh/ssh_known_hosts 中
,因此ssh
无法知道连接另一端的主机是否真的是domain.example
。 (如果/etc
salah, maka seseorang yang mempunyai hak pentadbiran perlu mengemas kini fail seluruh sistem. )Saya sangat mengesyorkan anda mempertimbangkan untuk membenarkan pengguna mengesahkan menggunakan kekunci juga. Dengan cara ini,
ssh-agent
bahan utama boleh disimpan untuk kemudahan (daripada semua orang perlu memasukkan kata laluan setiap kali mereka menyambung ke pelayan), dan kata laluan itu tidak dihantar melalui rangkaian.