cari

Rumah  >  Soal Jawab  >  teks badan

Ralat Git semasa menyambung ke repositori jauh: "Pengesahan kunci hos gagal"

<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>
P粉668113768P粉668113768455 hari yang lalu667

membalas semua(2)saya akan balas

  • P粉926174288

    P粉9261742882023-08-28 11:25:55

    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:

    ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts

    balas
    0
  • P粉312631645

    P粉3126316452023-08-28 11:08:39

    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 anda

    ssh-keygen -R domain.example

    Dari sini, anda boleh merakam sendiri kunci yang dikemas kini

    ssh-keyscan -t rsa domain.example >> ~/.ssh/known_hosts

    Atau, sama seperti, biarkan ssh 在您下次使用 git fetchgit pullgit 连接时为您完成此操作推送(甚至是普通的ssh domain.example), jawab "Ya" apabila digesa

    The authenticity of host 'domain.example (a.b.c.d)' can't be established.
    RSA key fingerprint is XX:XX:...:XX.
    Are you sure you want to continue connecting (yes/no)?

    Sebab 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.

    balas
    0
  • Batalbalas