Skonfigurowałem instancję Ubuntu z pakietem Rails, wdrożyłem moją aplikację i działa dobrze.
Ale gdy próbuję zrobić SSH, to nie pozwala mi do zdalnego logowania i wyrzuca błędy jak: Host key verification failed
.
Problem wydaje się być uporczywy. Dołączyłem Elastyczny adres IP do tego wystąpienia i nie widzę publicznego DNS.
Moja instancja działa w regionie Singapuru.
ssh
wyjście debugowania:
OpenSSH_5.8p1 Debian-7ubuntu1, OpenSSL 1.0.0e 6 Sep 2011
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to 46.137.253.231 [46.137.253.231] port 22.
debug1: Connection established.
debug1: identity file st.pem type -1
debug1: identity file st.pem-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.5p1 Debian-4ubuntu6
debug1: match: OpenSSH_5.5p1 Debian-4ubuntu6 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.8p1 Debian-7ubuntu1
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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.
Please contact your system administrator.
Add correct host key in /home/ubuntu/.ssh/known_hosts to get rid of this message.
Offending RSA key in /home/ubuntu/.ssh/known_hosts:1
remove with: ssh-keygen -f "/home/ubuntu/.ssh/known_hosts" -R 46.137.253.231
RSA host key for 46.137.253.231 has changed and you have requested strict checking.
Host key verification failed.
ssh
amazon-ec2
authentication
Jeevan Dongre
źródło
źródło
Odpowiedzi:
Gdy łączysz się z serwerem ssh, klient ssh przechowuje listę zaufanych hostów jako pary klucz-wartość dla odcisków palców serwera IP i ssh. W ec2 często używasz tego samego adresu IP z kilkoma instancjami serwera, co powoduje konflikt.
Jeśli podłączyłeś się do wcześniejszej instancji ec2 za pomocą tego adresu IP, a teraz łączysz się z nową instancją o tym samym adresie IP, komputer narzeka na „Nieudana weryfikacja hosta”, ponieważ poprzednio przechowywana para nie pasuje już do nowej pary.
Komunikat o błędzie informuje, jak to naprawić:
Alternatywnie wystarczy otworzyć /home/ubuntu/.ssh/known_hosts i usunąć wiersz 1 (zgodnie z oznaczeniem „: 1”).
Możesz teraz połączyć się i otrzymać nową weryfikację hosta.
Pamiętaj, że zwykle plik znane_hosty ssh zwykle zawiera drugą parę linii dla nazwy hosta lub wartości ip6, więc może być konieczne usunięcie kilku linii.
Ostrzeżenie: weryfikacja hosta jest ważna i jest to dobry powód, dla którego pojawia się to ostrzeżenie. Upewnij się, że oczekujesz niepowodzenia weryfikacji hosta. Nie usuwaj pary klucz-wartość weryfikacyjna, jeśli nie jesteś pewien.
źródło
Odpowiedź @flurdy jest dobra jako jednorazowa rozdzielczość.
Ale jeśli często:
..without stosując elastyczne IP (stałe przymocowany do serwerów), wówczas mamy do czynienia z nowym / IPS / zmianie nazwy hostów z wystąpień cały czas .
Jeśli tak, to możesz chcieć trwale zatrzymać sprawdzanie SSH i przechowywanie odcisków palców serwera dla publicznych nazw hostów EC2 .
Aby to zrobić, po prostu dodaj to do
~/.ssh/config
:Należy pamiętać, że SSH nadal powie
Warning: Permanently added (...) to the list of known hosts.
przy łączeniu, ale oznacza to, że dodał go do/dev/null
...SSH przestanie jednak pytać, czy ty
confirm the authenticity of host
i po prostu kontynuujesz połączenie.Jest to więc wygodniejsze i możesz uniknąć nie zawsze wystarczającej liczby błędów połączenia SSH podczas korzystania z instancji EC2.
Muszę dodać, że teoretycznie to ustawienie obniża bezpieczeństwo połączeń SSH, ale w rzeczywistości prawdopodobnie i tak nie sprawdziłbyś odcisków palców swoich jednorazowych instancji EC2.
źródło