it-swarm.asia

SSH'de katı RSA anahtarı kontrolünü nasıl kaldırırım ve burada sorun nedir?

Bağlandığımda bana SSH Host anahtarını değiştiren mesajı gösteren bir Linux sunucum var:

$ ssh root @ Host1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@ @ @ @ UYARI: UZAKTAN Ev Sahibi TANIMLAMA DEĞİŞTİRİLDİ! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@ IT IS MÜMKÜN BİR ŞEY IS KÖTÜ YAPMAK! Birisi şu anda size kulak misafiri olabilir (ortadaki adam saldırısı)! RSA Ana Bilgisayar anahtarının yeni değiştirilmesi de mümkündür. Uzak Ana Bilgisayar tarafından gönderilen RSA anahtarının parmak izi 93: a2: 1b: 1c: 5f: 3e: 68: 47: bf: 79: 56: 52: f0: ec: 03: 6b'dir. Lütfen sistem yöneticinize başvurun. Bu iletiden kurtulmak için /home/emerson/.ssh/known_hosts içine doğru Host anahtarını ekleyin. /Home/emerson/.ssh/known_hosts:377 dosyasında rahatsız edici anahtar

Host1 için RSA Host anahtarı değişti ve sıkı kontrol istediniz. Ana makine anahtarı doğrulaması başarısız oldu.

Beni oturum açmış birkaç saniye tutar ve sonra bağlantıyı kapatır.

Ana bilgisayar1: ~/.ssh # Uzak Ana bilgisayar ana bilgisayarından okuma1: Eş tarafından bağlantı sıfırlama Ana bilgisayar1'e bağlantı kapalı.

Bu sorunu çözmek için neler olduğunu ve ne yapabileceğimi bilen var mı?

45
setatakahashi

Lütfen bazı kişiler tarafından önerilen tüm bilinen_hosts dosyasını silmeyin, bu tamamen uyarı noktasını geçersiz kılar. Orta saldırıdaki bir adamın olabileceği konusunda sizi uyarmak bir güvenlik özelliğidir.

Neden bir şeyin değiştiğini düşündüğünü belirlemenizi öneririm, büyük olasılıkla bir SSH yükseltmesi olası bir güvenlik açığı nedeniyle şifreleme anahtarlarını değiştirdi. Daha sonra bu belirli satırı bilinen_hosts dosyanızdan temizleyebilirsiniz:

sed -i 377d ~/.ssh/known_hosts

Bu d, uyarıdaki iki nokta üst üste işaretinden sonra gösterildiği gibi 377 satırını siler:

/home/emerson/.ssh/known_hosts:377

Alternatif olarak, aşağıdakileri yaparak ilgili anahtarı kaldırabilirsiniz

ssh-keygen -R 127.0.0.1 (obviously replace with the server's IP)

Lütfen tüm dosyayı temizlemeyin ve belirli bir anahtarı temizlemeden önce bunun bağlanmak istediğiniz makinenin olduğundan emin olun.

71
Adam Gibbins

Buradaki cevapların bazıları OP'nin sorusundaki önerilen eylem yolunu ele alsa da, soruyu tam olarak cevaplamıyor.

Soru, "SSH'de katı RSA anahtarı denetimini nasıl kaldırabilirim ve burada sorun nedir?"

Buradaki sorun, bazılarının önerdiği gibi, muhtemelen sunucunun yeniden yüklenmesi nedeniyle Ana Bilgisayarda bir değişikliktir (en yaygın senaryo). Ve önerilen çözüm, rahatsız edici anahtarı bir satır içi sed ile .ssh/yetkili_anahtarlar dosyasından kaldırmaktır.

Ancak, "SSH'de sıkı RSA anahtarı denetimi nasıl kaldırılır" sorusunun belirli bir bölümünü ele alan herhangi bir yanıt görmedim.

Ssh yapılandırma dosyanızdaki StrictHostKey denetimini, genellikle ~/.ssh/config.

Aşağıda örnek bir Ana Bilgisayar bloğu verilmiştir:

Host 101
  HostName yourip|hostname
  User youruserid
  IdentityFile /path/to/keyfile
  Port 22
  StrictHostKeyChecking no

Özel olarak eklenen satır sonuncusu StrictHostKeyChecking no ki tam olarak bunu yapar. Özel senaryolarınıza bağlı olarak, bu, özel bir sunucuda birden fazla sanallaştırılmış kapsayıcı çalıştırmak, yalnızca birkaç ips'de, aynı ip üzerinde başka bir örneği durdurup başlatmak gibi yararlı olabilir.

27
Joel G Mathew

Sadece tek bir sunucu için yapmanız gerektiğinde StrictHostKeyChecking'i kaldırmanın başka bir yolu:

ssh <server> -o StrictHostKeyChecking=no
11
Greg Dougherty

Her şeyden önce, bu sizin makineniz mi? Host anahtarlarını bilerek değiştirdiniz mi? Değilse, bir şey bu verileri değiştirdiğinden çok endişe duyarım.

İkincisi, ssh hata ayıklamasını açın,

ssh -vvv [email protected]

ve size ne söylediklerine bakın, ayrıca, ipucu için bağlanmaya çalıştığınız sunucuda/var/log/secure ve/var/log/mesajlarına bakmayı deneyin, sshd iyi hata mesajları verir.

Üçüncüsü, bu makine internete bağlı mı? Kök oturumlarına gerçekten izin vermeli misiniz?

5
Dave Cheney

'Ana Bilgisayar' [genel olarak tanımlandığı gibi, yeniden yükleme/çoklu önyüklemeden, daha önce bağlandığınız IP adresine sahip tamamen farklı bir bilgisayara kadar her şey olabilir, örneğin] ssh istemcisine değişmiş gibi görünüyor, size hata.

Sıkı denetimi kapatmak veya kaydedilen anahtarların toptan silinmesi mantıklı değildir.

Belirli bir ana bilgisayar adı veya IP adresi için bilinen_hostlarda listelenen iki farklı anahtarın olması mümkündür; şu anda bilinen_anahtarlarda depolanan 'eski' anahtara ihtiyacınız olabileceğini düşünüp düşünmediğinize göre size 2 alternatif sunar

OP için bilinen_host'ların l377'sinde atıfta bulunduğu belirli anahtarı silin veya her ikisini de saklayın

Bilinen_hostlardaki anahtarların silinmesinden kaçınarak her ikisini de korumanın en basit yolu

  1. Known_hosts [@ l377] 'da geçici olarak belirtilen' eski 'girişin başına # eklemek için bilinen_host'ları düzenleyin
  2. [Ssh'ı Ana Bilgisayara bağlayın], yeni anahtarı 'otomatik olarak' eklemeyi istemeyi kabul edin
  3. Ardından, bilinen #host'ları yeniden düzenlemek için #

"host_hosts içinde doğru Host anahtarını ekle"/birden fazla ssh hostname başına anasistem anahtarı?

3
Mark

Bir şey değiştiği için bunu alıyorsunuz (yeni NIC, yeni IP, sunucu yazılımındaki değişiklik vb.). Güvenlik odağı SSH Ana bilgisayar anahtarı koruması hakkında güzel bir makaleye sahiptir.

Anahtarı [SFTP veya benzeri kullanarak) $HOME/.ssh/known_hosts dosyasını seçin ve yeni bağlantıyı bir sonraki bağlantıda kabul edin.

StrictHostKeyChecking ayarı nedeniyle bağlantınız kesiliyor olabilir. Benzer bir sorun için bu kon konusuna bakın.

3
user1797