AWS EC2 yönetim ortamına bağlanılamıyor - “Ana makine anahtarı doğrulaması başarısız oldu”


13

Rails paketi ile bir Ubuntu örneği ayarlamıştım, uygulamamı dağıttım ve iyi çalışıyor.

Ben SSH yapmaya çalıştığınızda Ancak, uzaktan giriş için beni izin ve benzeri hataları atar değil: Host key verification failed.

Sorun kalıcı gibi görünüyor. Bu örneğe Elastik IP'yi ekledim ve genel DNS'yi göremiyorum.

Örneğim Singapur bölgesinde çalışıyor.

ssh hata ayıklama çıktısı:

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.

Bize verdiğiniz gerçek hataları tam olarak anlatmalısınız. Bize hatalardan birinin nasıl olduğunu söylemek yardımcı olmaz.
David Schwartz

Yanıtlar:


19

Bir ssh sunucusuna bağlandığınızda, ssh istemciniz güvenilir ana bilgisayarların listesini IP ve ssh sunucusu parmak izi anahtar çiftleri olarak tutar. Ec2 ile genellikle aynı IP'yi çakışmaya neden olan birkaç sunucu örneğiyle yeniden kullanırsınız.

Bu IP ile daha önceki bir ec2 örneğine bağlandıysanız ve şimdi aynı IP ile yeni bir örneğe bağlanıyorsanız, daha önce depolanan çifti artık yeni çiftle eşleşmediği için bilgisayarınız "Ana makine doğrulaması başarısız oldu" dan şikayet edecektir.

Hata mesajı nasıl düzeltileceğini söyler:

/Home/ubuntu/.ssh/known_hosts:1 dosyasında RSA anahtarı ihlal ediliyor
: şunu kaldırın: ssh-keygen -f "/home/ubuntu/.ssh/known_hosts" -R 46.137.253.231 "

Alternatif olarak /home/ubuntu/.ssh/known_hosts dosyasını açın ve 1. satırı (": 1" ile gösterildiği gibi) silin.

Artık yeni bir ana makine doğrulaması bağlayabilir ve alabilirsiniz.

Lütfen genellikle ssh'ın bilinen_hosts dosyasının ana bilgisayar adı veya ip6 değeri için ikinci bir satır çifti depoladığını unutmayın, bu nedenle birkaç satırı kaldırmanız gerekebilir.

Uyarı: Ana makine doğrulaması önemlidir ve bu uyarıyı almanız için iyi bir nedendir. Ana makine doğrulamasının başarısız olmasını beklediğinizden emin olun. Emin değilseniz doğrulama anahtar / değer çiftini kaldırmayın.


1
Ben bunu yaptım. Şimdi bu hatayı alıyorum: İzin reddedildi (publickey). AWS sunucuma en son eriştiğimde ortak anahtar dosyası yeterince iyi olduğu için bunu nasıl çözeceğime dair herhangi bir fikir.
Najeeb

11

@flurdy'nin cevabı bir defalık çözünürlük olarak iyidir.

Ancak sık sık:

  • yeni EC2 bulut sunucuları başlatmak,
  • EC2 bulut sunucularını başlatma ve durdurma,

Elastik IP'leri kullanmadan (sunucularınıza kalıcı olarak bağlı), her zaman örneklerinizin yeni / değişen IP'leri / ana bilgisayar adlarıyla ilgilenirsiniz .

Öyleyse , EC2 genel ana bilgisayar adları için SSH denetimini ve sunucu parmak izlerini depolamayı kalıcı olarak durdurmak isteyebilirsiniz .


Bunu yapmak için şunu ekleyin ~/.ssh/config:

# AWS EC2 public hostnames (changing IPs)
Host *.compute.amazonaws.com 
  StrictHostKeyChecking no
  UserKnownHostsFile /dev/null


SSH'nin Warning: Permanently added (...) to the list of known hosts.bağlanırken hala söyleyeceğini lütfen unutmayın, ancak onu eklediğini gösterir /dev/null...

Ancak SSH size sormayı bırakıp confirm the authenticity of hostsadece bağlanmaya devam edecektir.

Bu nedenle daha kullanışlıdır ve EC2 bulut sunucularınızı kullanırken her zaman yeterli SSH bağlantı hatası veremeyebilirsiniz .


Teorik olarak, bu ayarın SSH bağlantılarınızın güvenliğini azalttığını eklemeliyim, ancak gerçek hayatta muhtemelen bir kerelik EC2 bulut sunucularınızın parmak izlerini kontrol etmeyeceksiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.