Ssh host anahtarları nasıl alınır?


17

Ssh sunucumu 2048 bit RSA anahtarlarından daha büyük anahtarlara yükseltmeye çalışıyorum, çünkü öneriler yakında 2048 bit anahtarları aşamalı olarak kaldırmak için.

Yeni bir anahtar oluşturdum ve sshd config'e şu şekilde ekledim:

HostKey / etc / ssh / ssh_host_rsa_key             (önce eski 2k bit anahtar) 
HostKey / etc / ssh / ssh_host_rsa4096_key         (yeni 2 büyük bit anahtar )

Yeniden başlattıktan sonra sshd, ana bilgisayara ssh'd, kimlik değişikliği uyarısı almıyorum, ancak yeni de önbelleğe alınmadı ~/.ssh/known_hosts. Çizgileri ters sırada koyarsam, kimlik değişikliği uyarısı alırım. Benzer şekilde, hangi sırayla koyarsam yapayım, ed25519 anahtarını eklediğimde, istemci yeni anahtarı bilinen hosts dosyasına eklemez.

Bu, SSH ana bilgisayar anahtarını devreden çıkarmayı imkansız kılıyor gibi görünüyor, ancak güvenliğin rutin olarak anahtarların yükseltilmesini gerektirdiğini düşünmek gerçekten durum böyle.

Sadece anahtarı değiştirebileceğini biliyorum, o zaman her müşterinin ssh-keygen -Reski anahtarı kaldırmak için çalışması , ardından yeni anahtarı manuel olarak doğrulayıp kabul etmesi gerekiyor - ama bu gerçekten çok acı çekiyor, özellikle bağlanan veya yöneten çok fazla müşteriniz varsa tüm müşteriler. Bahsetmemek gerekirse, istemcileri yönetmezseniz, ana makine anahtarını gerçekten kontrol etmemeleri ve bunun yerine Y'ye basmaları çok iyi bir olasılıktır - bu nedenle güvenliği artırma girişimi sizi gerçekten adamla açacaktır - orta saldırılar.

SSH ana bilgisayar anahtarı yükseltmelerinin çalışmasını sağlamanın bir yolu var mı? Yani, müşteriler yeni daha güvenli anahtarı öğrenmelidir (ve umarım kullanılmayan anahtarı da öğrenir). Ve ana bilgisayar anahtarı vermeden ortadaki adam uyarısı değişti.


Bir göz Lütfen bu . Şu anda istediğiniz şey için bir çözüm sunmasa da, gelecekte nihai hedeflerinize ulaşmanıza yardımcı olabilir.
rda

Yanıtlar:


14

Ana Bilgisayar Anahtarı döndürme , OpenSSH 6.8'den beri desteklenir (hem istemci hem de sunucu bu sürümde destek ekler).

Dolayısıyla süreç şu şekilde çalışmalıdır:

  • HostKey newkey(Mevcut olanlardan sonra) seçeneğiyle yeni anahtarlar oluşturun ve ekleyin ./etc/ssh/sshd_config
  • Tekrar başlat sshd
  • İstemciler UpdateHostKeys yesyapılandırmalarında (genel olarak veya ana bilgisayar başına) kurulum yapmak zorundadır
  • Bağlanan istemciler tüm yeni anahtarları alacak
  • Bir süre (aylar?) Sonra gelen eski anahtarlarını kaldırabilir sshd_configve yeniden başlatmasshd
  • İstemciler (geçiş döneminde bağlanan) zaten yeni anahtarlara sahip olacaklar (eski, buradaki tek sorun olan kaldırılmayacak) ve MitM saldırı uyarısını göstermeyecekler.

Yeterince yeni müşteriler yeni anahtarları alabilecek. Bu özellik varsayılan olarak etkin değildir, muhtemelen oldukça yenidir ve yakında bazı güvenlik önlemleri göstermiştir. Ancak bu günlerde, kullanmak iyi olmalı.


-4

sshd her zaman ilk satırı kullanır, bu yüzden silin ve sshd'yi yeniden başlatın.


1
... korkunç ana bilgisayar anahtarının uyarıyı değiştirmesiyle sonuçlanır. Bundan kaçınmaya çalışarak, müşterilerin yeni anahtarı öğrenmelerini sağlayın (ve eskisini devre dışı bırakın).
derobert

Haklısın. Bir seferde 2 farklı anahtar kullanamazsınız. ssl tls değil. Sadece değişen anahtar ekleme özelliği yoktur.
Ipor Sircer

4
Ne SSL ne de TLS. Protokol birden çok ana bilgisayar anahtarını destekler - örneğin, herkesin hem RSA hem de DSA anahtarları vardı. Şimdi genellikle ED25519, ECDSA ve RSA anahtarları.
derobert
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.