Jak usunąć obrażający klucz w git, gdy próbujesz pchnąć zmiany?

40

Przeprowadziłem mnóstwo wyszukiwania i przetestowałem różne rozwiązania, ale nie osiągam żadnych sukcesów!

Kiedy chcę przesłać moje kody, pojawia się następujący błąd:

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

Co powinienem zrobić, aby usunąć tę wiadomość za każdym razem, gdy wprowadzam zmiany? Dowolny pomysł?

lista kluczy

ALH
źródło

Odpowiedzi:

83

To mówi:

Obrażający klucz do adresu IP w /home/alireza/.ssh/known_hosts: 10

Z jakiegoś powodu musisz usunąć 10-ty wiersz w znanych_hostach.

Uruchom to polecenie, aby usunąć 10-ty wiersz w znanych_hostach:

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

Albo użyj ssh-keygen

ssh-keygen -R git.mywebsite.ir

Cytat od człowieka

 -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
źródło
6
ssh-keygen -R git.mywebsite.irrozwiązał mój problem.
ALH
nie działało dla mnie, ciągle zadaje pytanie.
Waruna Ranasinghe
2
sed -i '1d' ~ / .ssh / known_hosts lub ręcznie usuwając wiersz nr. pracował dla mnie
Sumit Kumar Saha
Jeśli uruchamiasz to w Terminalu na komputerze Mac, musisz wykonać sed -i '' '10d' ~ / .ssh / known_hosts, aby uniknąć błędu „dodatkowych znaków na końcu polecenia l”, ponieważ wymaga to rozszerzenie do określenia.
Łukasz
jeśli chcesz, aby usunąć klucz na podstawie adresu IP: ssh-keygen -R [ipaddress]:port. przykład usunięcia klucza dla 192.168.0.1 na porcie 3456:ssh-keygen -R [192.168.0.1]:3456
Oki Erie Rinaldi
0

Musisz edytować plik znane_hosty (znajduje się w ~ / .ssh / known_hosts) i usunąć wpis powiązany z tym adresem.

kułak
źródło
Ten adres IP nie istnieje w pliku znane_hosty.
ALH
1
Zgadza się, prawdopodobnie istnieje wpis z adresem URL git.mywebsite.ir i innym adresem IP. Powinieneś usunąć ten wiersz ze znanych_hostów, a wtedy nowy adres IP zostanie powiązany z tą nazwą hosta.
kulak
Nie ma nic jako adresu URL mojej witryny w pliku znane_hosty. Nie mogę nawet znaleźć gita w pliku. Czy możesz spojrzeć na zdjęcie powyżej?
ALH
0

Kiedy dostaję wiadomości:

Obrażający klucz do adresu IP w /home/myusername/.ssh/known_hosts: 12

Zwróć uwagę na numer linii - w moim przypadku - 12

Otwórz więc plik „znane_hosty” i usuń 12- ty wiersz.

Dla mnie to rozwiązało problem.

Ps Uwaga, jeśli nie możesz znaleźć folderu .ssh - folder .ssh jest ukryty, a aby zobaczyć go w menedżerze plików - musisz „Pokaż ukryte pliki i foldery”. W Linux Mint (i możliwe także w twojej dystrybucji) w menedżerze plików - istnieje skrót do pokazywania / ukrywania ukrytych folderów -> Ctrl + H

Twoje zdrowie

Połączyć
źródło