Mehmet

WFN Üye
Konular
1,851
Mesajlar
1,852
Çözüm
0
Ticaret Puanı
0
Üyelik
1 Ay 7 Gün
Konum
YurtDışı
Web Sitesi
Var
Alanı
Google Adsense
1/1
Konu sahibi

SSH host key değişikliği uyarısı nasıl doğrulanır?​


SSH bağlantısında "REMOTE HOST IDENTIFICATION HAS CHANGED" uyarısı alıyorsanız yeni anahtarı hemen kabul etmeyin ve silmeden önce sunucunun gerçek host key parmak izini bağımsız bir kanaldan doğrulayın. Parmak izi sunucunun konsolunda, sağlayıcının yönetim panelinde veya daha önce güvenilir biçimde kaydettiğiniz bir belgede görünen değerle eşleşiyorsa yerel kaydı güncelleyebilirsiniz. Eşleşmiyorsa bağlantıyı durdurun; yanlış sunucuya yönlendirme veya araya girme ihtimalini yöneticinizle inceleyin.

Uyarı nasıl çalışır?​


SSH istemcisi, daha önce bağlandığınız sunucunun host key bilgisini yerel known_hosts dosyasına kaydeder. Sonraki bağlantıda sunucu farklı bir anahtar gönderirse istemci bunu algılar. Bu davranış, sunucunun kimliğini doğrulamaya yarar; uyarıyı bastırmak güvenliği azaltır.

Değişiklik her zaman saldırı anlamına gelmez. Sunucu yeniden kurulmuş, SSH host key'leri yenilenmiş, aynı IP adresi başka bir makineye verilmiş veya DNS kaydı değiştirilmiş olabilir. Ancak bu olasılıklar, yeni parmak izi doğrulanmadan güvenli kabul edilmemelidir.

Örnek durum ve karar​


Daha önce example.com adresine bağlanırken şimdi aynı adres için anahtar değişikliği uyarısı aldığınızı varsayalım. Uyarı genellikle sunulan yeni anahtarın parmak izini ve eski kaydın dosya/satırını gösterir; eski parmak izinin ayrıca gösterildiğini varsaymayın. Sunulan değeri ve anahtar türünü kaydedin. Ardından sunucu yöneticisinden veya sunucunun doğrudan konsolundan gerçek host key parmak izini isteyin.

Kararınızı şu şekilde verin:

Gözlenen durumUygulanacak kararSonraki adım
Yeni parmak izi bağımsız kaynaktan doğrulanıyorDeğişiklik meşru olabilirEski kaydı yedekleyip yenisini kaydedin
Parmak izi doğrulanamıyorBağlantıyı kabul etmeyinSunucu yöneticisi veya sağlayıcıyla doğrulayın
Parmak izi beklenmedik biçimde farklıŞüpheli kabul edinDNS, IP, ağ ve sunucu değişikliklerini inceleyin
Sunucu yeniden kurulduğu doğrulanıyorEski anahtar geçersiz olabilirYeni anahtarı güvenilir parmak iziyle karşılaştırın

Tablodaki ilk durum dışında yes yanıtını otomatik vermeyin. Özellikle ortak Wi-Fi, kurumsal proxy veya yönetilmeyen ağlarda doğrulama yapılmadan devam etmek gerçek sunucu yerine başka bir uç noktaya bağlanmanıza neden olabilir.

Anahtarı doğrulama ve kaydı güncelleme​


Aşağıdaki örnekte standart SSH portu ve example.com kullanılmıştır. Örneğin port2222 için kayıt anahtarı [example.com]:2222 biçimindedir: ssh-keygen -R "[example.com]:2222" ve ssh -p2222 [email protected] kullanılır. UserKnownHostsFile özel ayarlıysa gerçek dosyayı -f ile belirtin.

  1. Uyarı görüldüğünde bağlantıyı sonlandırın. Uyarıdaki yeni anahtarı bağımsız kaynaktan alınan parmak iziyle karşılaştırın; yalnızca ekranda gösterildiği için yeni değeri güvenilir kabul etmeyin.
  2. Elinizdeki bir public host key dosyasının parmak izini şu komutla görüntüleyin:
    Kod:
    ssh-keygen -lf /path/to/host_key.pub
    Çıktıdaki parmak izi, yöneticinin bildirdiği değer ve anahtar türüyle eşleşmelidir. Eşleşmiyorsa eski kaydı silmeyin.
  3. Değişikliğin meşru olduğu doğrulanırsa mevcut kaydı yedekleyin:
    Kod:
    cp -p ~/.ssh/known_hosts ~/.ssh/known_hosts.before-change-1
    Bu Linux/macOS kopyalama örneğinde hedef dosyanın bulunmadığını önceden doğrulayın; varsa farklı yeni bir ad seçin ve mevcut kopyanın üzerine yazmayın. Başarılı kopyadan sonra kaydı güncelleyin. Dosya yoksa SSH yapılandırmanız farklı bir konum kullanıyor olabilir.
  4. Doğrulanmış host için eski kaydı kaldırın:
    Kod:
    ssh-keygen -R example.com
    Bu komut yalnızca belirtilen hosta ait yerel kayıtları kaldırır; doğrulamayı kendi başına yapmaz.
  5. Tekrar bağlanın:
    İstemci yeni anahtarın parmak izini gösterdiğinde bunu daha önce doğruladığınız değerle yeniden karşılaştırın. Eşleşiyorsa onay verin; eşleşmiyorsa bağlantıyı iptal edin.

Komut sonrasında yeni kayıt known_hosts dosyasına eklenir ve sonraki bağlantılarda aynı anahtar denetlenir. Host anahtarı değişikliği beklenmedikse yalnızca yerel kaydı silmek sorunun nedenini çözmez; DNS çözümlemesi, bağlanılan IP, sunucu yeniden kurulum kayıtları ve sağlayıcı değişiklikleri ayrıca incelenmelidir.

Sık yapılan hatalar​


Uyarıyı geçmek için doğrulama yapmadan “yes” demek: Bu, host kimliği denetimini etkisizleştirir.

known_hosts dosyasını tamamen silmek: Diğer sunuculara ait doğrulanmış kayıtları da kaybedersiniz. Yalnızca doğrulanmış hostun kaydını kaldırın ve önce yedek alın.

ssh-keyscan çıktısını tek başına güvenilir saymak: Bu komut o anda görülen anahtarı alır; çıktının güvenilir olması için başka bir doğrulama kanalı gerekir.

Yalnızca anahtar türüne bakmak: RSA veya ED25519 gibi türün aynı olması, anahtarın doğru sunucuya ait olduğunu kanıtlamaz. Asıl karşılaştırılması gereken parmak izidir.

Sık sorulan sorular​


Sunucu sahibi yeni anahtarı nasıl bildirmeli?​


Parmak izini, aynı SSH bağlantısından bağımsız ve güvenilir bir kanal üzerinden bildirmelidir. Bağlantı kurulmadan önce alınamayan bir değeri, yalnızca mevcut şüpheli oturumun içinden doğrulamak yeterli değildir.

Aynı sunucuya IP adresiyle bağlanınca neden tekrar uyarı çıkabilir?​


Alan adı ve IP adresi known_hosts içinde farklı host kayıtları olarak tutulabilir. Her ikisinin de gerçekten aynı sunucuya ait olduğunu doğrulayın; yalnızca uyarıyı kaldırmak için kayıtları rastgele silmeyin.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Robotlar:
  • Anthropic