Ralat Git semasa menyambung ke repositori jauh: "Pengesahan kunci hos gagal"
P粉668113768
P粉668113768 2023-08-27 12:34:09
0
2
528

Saya cuba menyambung ke repositori Git jauh yang berada pada pelayan web saya dan mengklonkannya ke komputer saya.

Arahan saya menggunakan format berikut:

git clone ssh://username@domain.example/repository.git

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:

Pengesahan kunci hos gagal.

FATAL: Tidak dapat membaca dari jauh repositori.

Kami tidak menggunakan kunci SSH untuk menyambung ke repositori ini, jadi saya tidak pasti mengapa Git menyemak kunci pada mesin tertentu ini.

P粉668113768
P粉668113768

membalas semua (2)
P粉926174288

Seperti yang saya lakukan sebelum ini dalampengklonan 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
    P粉312631645

    Anda menyambung melalui protokol SSH, seperti yang ditunjukkan oleh awalanssh://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.exampleAtau 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, biarkanssh在您下次使用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 masukdomain.example删除后不再位于您的known_hosts中,并且可能不在系统的/etc/ssh/ssh_known_hosts 中,因此ssh无法知道连接另一端的主机是否真的是domain.example。 (如果/etcsalah, 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-agentbahan 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.

      Muat turun terkini
      Lagi>
      kesan web
      Kod sumber laman web
      Bahan laman web
      Templat hujung hadapan
      Tentang kita Penafian Sitemap
      Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!