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 -R
eski 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.