Bagaimana cara menghapus kunci yang mengganggu di git ketika Anda mencoba untuk mendorong perubahan Anda?

40

Saya telah melakukan banyak pencarian dan menguji berbagai solusi, tetapi tidak berhasil!

Ketika saya ingin mendorong kode saya, saya menerima kesalahan berikut:

Warning: the ECDSA host key for 'git.mywebsite.ir' differs from the key for the IP address '164.138.23.11'
Offending key for IP in /home/alireza/.ssh/known_hosts:10
Matching host key in /home/alireza/.ssh/known_hosts:1
Are you sure you want to continue connecting (yes/no)? yes

Apa yang harus saya lakukan untuk menghapus pesan ini setiap kali saya mendorong perubahan saya? Ada ide?

daftar kunci

ALH
sumber

Jawaban:

83

Ia mengatakan:

Kunci tidak sopan untuk IP di /home/alireza/.ssh/known_hosts: 10

Jadi untuk beberapa alasan Anda harus menghapus baris ke-10 di known_hosts.

Jalankan perintah ini untuk menghapus baris ke-10 di known_hosts:

sed -i '10d' ~/.ssh/known_hosts

Atau gunakan ssh-keygen

ssh-keygen -R git.mywebsite.ir

Kutipan dari manusia

 -R hostname
         Removes all keys belonging to hostname from a known_hosts file.
         This option is useful to delete hashed hosts (see the -H option
         above).
c0rp
sumber
6
ssh-keygen -R git.mywebsite.irmemecahkan masalah saya.
ALH
tidak bekerja untuk saya, terus bertanya.
Waruna Ranasinghe
2
sed -i '1d' ~ / .ssh / known_hosts atau secara manual menghapus no baris. tidak bekerja untuk saya
Sumit Kumar Saha
Jika Anda menjalankan ini di Terminal pada Mac, Anda harus melakukan sed -i '' '10d' ~ / .ssh / known_hosts untuk menghindari kesalahan "karakter tambahan di akhir perintah" karena memerlukan kesalahan ekstensi harus ditentukan.
Lukas
jika Anda ingin menghapus kunci berdasarkan alamat ip: ssh-keygen -R [ipaddress]:port. contoh menghapus kunci untuk 192.168.0.1 pada port 3456:ssh-keygen -R [192.168.0.1]:3456
Oki Erie Rinaldi
0

Anda harus mengedit file known_hosts Anda (terletak di ~ / .ssh / known_hosts) dan menghapus entri yang dikaitkan dengan alamat ini.

kulak
sumber
Alamat IP ini tidak ada dalam file known_hosts.
ALH
1
Itu benar, mungkin ada entri dengan URL git.mywebsite.ir dan alamat IP lainnya. Anda harus menghapus baris ini dari known_hosts dan kemudian alamat IP baru akan dikaitkan dengan nama host ini.
kulak
Tidak ada yang seperti URL situs saya di file known_hosts. Saya bahkan tidak dapat menemukan git di dalam file. Bisakah Anda melihat gambar di atas?
ALH
0

Ketika saya menerima pesan:

Kunci menyinggung IP di /home/myusername/.ssh/known_hosts: 12

Perhatikan nomor baris - dalam kasus saya - 12

Jadi buka file 'known_hosts' dan hapus baris ke- 12 .

Bagi saya ini menyelesaikan masalah.

PS Perhatikan jika Anda tidak dapat menemukan folder .ssh - folder .ssh disembunyikan dan untuk melihatnya dari manajer file - Anda harus "Tampilkan file dan folder tersembunyi". Di Linux Mint (dan mungkin di distro Anda juga) ketika di manajer file - ada cara pintas untuk menampilkan / menyembunyikan folder tersembunyi -> Ctrl + H

Tepuk tangan

Menggabungkan
sumber