Ponownie zainstalowałem serwer i otrzymuję te wiadomości:
[user@hostname ~]$ ssh root@pong
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
6e:45:f9:a8:af:38:3d:a1:a5:c7:76:1d:02:f8:77:00.
Please contact your system administrator.
Add correct host key in /home/hostname /.ssh/known_hosts to get rid of this message.
Offending RSA key in /var/lib/sss/pubconf/known_hosts:4
RSA host key for pong has changed and you have requested strict checking.
Host key verification failed.
Próbowałem różnych rozwiązań, które znalazłem w Internecie. Mój known_hosts
plik (zwykle ~/.ssh/known_hosts
jest) jest w /var/lib/sss/pubconf/known_hosts
. Próbowałem go edytować, ale pozostaje w jednym stanie. Zainstalowałem klienta ipa i mam Fedorę 19. Jak rozwiązać to ostrzeżenie?
Wszystkie odpowiedzi, na które dotychczas udzielono odpowiedzi, działają tylko wtedy, gdy nie masz zainstalowanej Freeipa.
Prawidłowa odpowiedź na freeipa w komentarzach poniżej z adrin jest tutaj .
ssh
verification
ipa
man-in-the-middle
Filip Dobrovolný
źródło
źródło
Odpowiedzi:
Oto najprostsze rozwiązanie
Na przykład,
Ze
ssh-keygen
strony podręcznika :-R hostname
Usuwa wszystkie klucze należące do nazwy hosta z pliku znane_hosty. Ta opcja jest przydatna do usuwania mieszanych hostów (patrz opcja -H powyżej).źródło
ssh-keygen -R [127.0.0.1]:3022
. Po prostu sprawdź plik .ssh / known_hosts pod kątem tego, co wyraźnie mówi.Posługiwać się
Przykład z adresem IP / nazwą hosta to:
Spowoduje to zaktualizowanie obrażeń twojego hosta ze znanych_hostów. Możesz także podać ścieżkę znanych_hostów z opcją -f.
źródło
$ ssh-keygen -R {server.name.com}
|$ ssh-keygen -R {ssh.server.ip.address}
|$ ssh-keygen -R server.example.com
Ten sam błąd wystąpił po odtworzeniu obrazu Digital Ocean Ubuntu. Użyłem następującego polecenia z adresem IP mojego serwera zamiast
[IP_ADDRESS]
źródło
Po ponownym zainstalowaniu serwera jego tożsamość ulegnie zmianie i zaczniesz otrzymywać tę wiadomość. Ssh nie ma możliwości dowiedzenia się, czy zmieniłeś serwer, z którym się łączy, czy też serwer został dodany do twojej sieci, aby wąchać całą twoją komunikację - więc zwraca na to uwagę.
Po prostu usuń klucz ze znanych hostów, usuwając odpowiedni wpis:
4d
Jest na rachunekOffending RSA ...known_hosts:4
źródło
sed -i -e 4d /var/lib/sss/pubconf/known_hosts
identification
w przypadku, gdy chcesz go odbudować bez powodowania zakłóceń, takich jak ten komunikat o błędzie?Młot ma za zadanie usunąć każdego znanego hosta za jednym zamachem:
Mam do czynienia z tym, ponieważ używamy małych podsieci krótkotrwałych serwerów ze skoczni i często ponownie wykorzystujemy wewnętrzny adres IP serwerów, które mają ten sam klucz ssh.
źródło
known_hosts
ma zapobiec). Zrób to tylko wtedy, gdy masz pewność, że wszystkie hosty są bezpieczne.Problem polega na tym, że wcześniej zaakceptowałeś połączenie SSH z komputerem zdalnym, a cyfrowy odcisk palca lub klucz skrótu SHA256 zmienił się od czasu ostatniego połączenia. Dlatego przy ponownej próbie SSH lub użyciu github do pobrania kodu, który również używa SSH, pojawia się błąd. Dlaczego? Ponieważ używasz tego samego adresu komputera zdalnego jak poprzednio, ale komputer zdalny odpowiada innym odciskiem palca. Dlatego możliwe jest, że ktoś fałszuje komputer, z którym wcześniej się łączyłeś. To jest problem bezpieczeństwa.
Jeśli masz 100% pewności, że komputer zdalny nie jest zagrożony, zhakowany, sfałszowany itp., Wszystko, co musisz zrobić, to usunąć wpis w pliku znane_hosty dla komputera zdalnego. To rozwiąże problem, ponieważ podczas łączenia nie będzie już niezgodności z identyfikatorami odcisków palców SHA256.
Na Macu oto co zrobiłem:
1) Znajdź linię wyjściową, która czyta
RSA host key for servername:port has changed and you have requested strict checking.
: Będziesz potrzebował zarówno nazwy serwera, jak i potencjalnie portu z tego wyjścia dziennika.2) Wykonaj kopię zapasową znanego hosta SSH
cp /Users/yourmacusername/.ssh/known_hosts /Users/yourmacusername/.ssh/known_hosts.bak
3) Znajdź linię, w której przechowywany jest stary odcisk palca komputera i usuń go. Możesz wyszukać konkretny odcisk palca komputera zdalnego za pomocą nazwy serwera i portu z kroku 1.
nano /Users/yourmacusername/.ssh/known_hosts
4) CTRL-X, aby wyjść i wybierz Y, aby zapisać zmiany
Teraz wpisz
ssh -p port servername
a otrzymasz oryginalny monit, który zrobiłeś przy pierwszej próbie SSH na tym komputerze. Następnie pojawi się opcja zapisania zaktualizowanego odcisku palca SHA256 tego zdalnego komputera w pliku znanego hosta. Jeśli używasz SSH przez port 22, argument -p nie jest konieczny.Wszelkie problemy z przywróceniem oryginalnego pliku znanego_hosta:
cp /Users/yourmacusername/.ssh/known_hosts.bak /Users/yourmacusername/.ssh/known_hosts
źródło
ssh-keygen -R [IP_ADDRESS]
nie działało dla mnie. Dzięki!Jak wielu już powiedziało, użyj
ssh-keygen
, tjMożesz również rozważyć tymczasowe wyłączenie sprawdzania klucza hosta:
źródło
Host ???? CheckHostIP no StrictHostKeyChecking no
(3 linie, tabulowane począwszy od 2)Pracuje dla mnie!
Oznacza to, że masz obrażający klucz RSA na linii nr. 4
Rozwiązanie 1 :
Rozwiązanie 2:
LUB
Rozwiązanie 3:
Spowoduje to usunięcie
4th
wiersza/root/.ssh/known_hosts
w miejscu (-i
).źródło
Użyłem rozwiązania mockinterface, chociaż sed -i nie do końca działał, rozwiązałem go, usuwając wiersz ręcznie za pomocą vima:
Możesz użyć dowolnego innego edytora tekstu, ale prawdopodobnie będziesz musiał pokazać swoje uprawnienia administracyjne
źródło
W przypadku użytkowników komputerów Mac możesz użyć
-R
flagissh-keygen
polecenia. Szybki przykład:THE_IP_ADDRESS
będąc adresem IP, do którego próbujesz ssh. A potem możesz połączyć się dobrze.źródło
Jest tak, ponieważ ustawienia komputera zdalnego uległy zmianie. Usuń do tego aktualne klucze.
vim /root/.ssh/known_hosts
Usuń linię połączonego adresu IP.
źródło
Edytować
/home/hostname /.ssh/known_hosts
i usuń 4 linie i zapisz je.Następnie uruchom
ssh root@pong
ponownie, zobaczysz taki komunikat:Are you sure you want to continue connecting (yes/no)? yes
po prostu wydrukujyes
.źródło
Inne odpowiedzi tutaj są dobre i działają, w każdym razie rozwiązałem problem, usuwając
~/.ssh/known_hosts
. To z pewnością rozwiązuje problem, ale prawdopodobnie nie jest to najlepsze podejście.źródło
W moim przypadku stało się tak, ponieważ wcześniej miałem połączenie ssh z maszyną o tym samym IP (powiedzmy 192.152.51.10), a system rozważał klucz RSA (przechowywany w /home/user_name/.ssh/known_hosts) poprzedniego hosta, co spowodowało niedopasowane.
Aby rozwiązać ten problem, musisz usunąć wcześniej zapisany klucz RSA dla adresu IP 192.152.51.10 .
źródło
Proste rozwiązanie jednowarstwowe, przetestowane na komputerze Mac:
Usuwa tylko docelowy adres IP hosta ssh ze znanych hostów.
gdzie 212.156.48.110 jest zastępowane adresem IP hosta docelowego.
Przyczyna : Zdarzyło się, ponieważ docelowy adres IP był już znany dla innej maszyny z powodu przekierowania portów. Usunięcie docelowego adresu IP przed połączeniem rozwiąże problem.
źródło
Użyj tego polecenia:
źródło
Usuń wpis ze znanych hostów za pomocą:
Spowoduje to usunięcie problematycznego adresu IP lub nazwy hosta z pliku znane_hosty i ponowne nawiązanie połączenia.
Ze stron podręcznika:
źródło
Po prostu zrób:
cd /home/user/.ssh/
-> tutajuser
będzie twoja nazwa użytkownika,/home/jon/
np.Następnie
gedit known_hosts &
i usuń zawartą w nim zawartość.Teraz
ssh
znowu powinno działać.źródło
Jeśli próbujesz połączyć się z działającym kontenerem dokującym na porcie 2222 za pomocą polecenia i pojawia się błąd
Następnie, aby rozwiązać ten problem, na komputerze lokalnym (tj. Na hoście, a nie na pojemniku) przejdź do
cd ~/.ssh/
i otwórzknown_hosts
plik za pomocą edytora tekstu. Usuń wiersz zaczynający się od[localhost]:2222
i zapisz plik. Teraz spróbuj ponownie sshBłąd zniknie, ale musisz to zrobić przy każdym ponownym uruchomieniu kontenera.
źródło
Moje rozwiązanie to:
vi ~/.ssh/known_hosts
Jest to lepsze niż usunięcie wszystkich
known_hosts
źródło
Problem tylko po stronie klienta (duplikat klucza do ip):
Rozwiąż warianty:
Dla wyczyszczenia jednego adresu IP (domyślny port 22):
Dla jednego adresu IP ( domyślny port):
Szybko wyczyść wszystkie Ips:
7.7.7.7 - ssh twój serwer ip connect
333 - niestandardowy port
źródło
Czasami, jeśli z jakiegokolwiek powodu musisz ponownie zainstalować serwer, podczas łączenia przez ssh stwierdzimy, że serwer mówi, że identyfikacja uległa zmianie. Jeśli wiemy, że nie jest to atak , ale przywróciliśmy system, możemy usunąć starą identyfikację ze znanych hostów za pomocą ssh-keygen:
Podczas ponownego łączenia poprosimy Cię o sprawdzenie nowego odcisku palca:
źródło
Miałem ten problem, a powód jest bardzo prosty, mam zduplikowany adres IP do logowania ssh, więc po zmodyfikowaniu tego problemu wszystko jest rozwiązane.
źródło
Miałem ten sam błąd na moim komputerze i wyczyściłem
known_hosts
plik, a następnie działa dobrze.źródło
authorized_keys
gdy masz problem zknown_hosts
plikiemROZWIĄZANIE:
1- usuń z „$ HOME / .ssh / known_hosts” wiersz odnoszący się do hosta, z którym nie można się połączyć.
2 - wykonaj polecenie: ssh-keygen -R „NAZWA_HOSTA_HOSTA” (zastąp „NAZWA_HOSTA_IP” docelowym ip lub docelowa nazwa hosta)
3- Ponów próbę połączenia ssh (jeśli nie powiedzie się, sprawdź uprawnienia do katalogu .ssh, musi to być 700)
źródło
Moje rozwiązanie na UBUNTU (linux):
1. Musisz usunąć zawartość z pliku „znane_hosty”, które znajduje się w „/home/YOUR_USERNAME/.ssh/known_hosts”
2. Wygeneruj nowy klucz ssh, taki jak „ssh-keygen -t rsa -C” twó[email protected] „-b 4096”
3. Skopiuj i wklej nowy klucz ssh do repozytorium git (w moim przypadku gitlab) klucze SSH.
Mi to pasuje !
źródło
AWS EC2.
Znajdź adres IP w otrzymanej wiadomości.
biegać
Użyj klawiszy strzałek, aby znaleźć adres IP z wiadomości i kliknij.
Spowoduje to usunięcie tej linii, a następnie uruchomienie klawisza Escape
Pozwoli to zaoszczędzić, więc możesz iść.
źródło