# SSH "REMOTE HOST IDENTIFICATION HAS CHANGED" uyarısı: ne yapmalıyım?

https://kervanhosting.com/bilgi-bankasi/makale/ssh-remote-host-identification-has-changed-uyarisi

Sunucuya her zamanki gibi bağlanmaya çalışıyorsunuz ve ekranı kaplayan, kırmızı harflerle bir uyarı çıkıyor:

```
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
...
Offending ECDSA key in /home/ali/.ssh/known_hosts:12
Host key verification failed.
```

Uyarı ürkütücü ama çoğu zaman zararsızdır. SSH ilk bağlantıda sunucunun "parmak izini" (host key) bilgisayarınızdaki `known_hosts` dosyasına kaydeder. Sonraki bağlantılarda bu kayıtla karşılaştırır. Aynı IP adresi bu sefer farklı bir parmak izi sunuyorsa SSH sizi korumak için bağlantıyı keser.

## Bunun masum nedenleri

- Sunucuyu panelden [yeniden kurdunuz](https://kervanhosting.com/bilgi-bankasi/makale/isletim-sistemini-yeniden-kurma-formatlama) ya da işletim sistemini değiştirdiniz. Her kurulumda sunucu yeni anahtarlar üretir.
- Silip yeni bir sunucu sipariş ettiniz ve size aynı IP adresi verildi.
- Sunucuya eskiden başka bir adreste bağlandınız ve şimdi farklı bir anahtar türü (ECDSA yerine ED25519 gibi) öneriliyor.

## Bu bir saldırı olabilir mi?

Teorik olarak evet: biri ağınızı ya da sunucuyu taklit ediyor olabilir. Pratikte, yakın zamanda sunucuyu yeniden kurmadıysanız uyarıyı ciddiye alın. Emin olmak için panelden **VNC Konsol** ile sunucuya girip gerçek parmak izini görün ve karşılaştırın:

```
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub
```

Çıktıdaki `SHA256:` ile başlayan değeri, bağlanırken SSH'ın size sorduğu değerle karşılaştırın. Aynıysa sunucu doğrudur.

## Uyarıyı kaldırmak

Eski kaydı `known_hosts` dosyasından silin. Uyarının üstünde yazan satırdaki `Offending ... key in ...:12` ifadesi dosyayı ve satır numarasını söyler. En kolayı:

```
ssh-keygen -R 203.0.113.10
```

IP adresini kendi sunucunuzunkiyle değiştirin; bir alan adıyla bağlanıyorsanız onu da ayrıca silin (`ssh-keygen -R sunucu.ornek.com`). Komut eski kaydı siler ve bir `known_hosts.old` yedeği bırakır. Sonra yeniden bağlanın; yeni parmak izini kabul etmek için `yes` yazın.

- **Windows (OpenSSH):** dosya `C:\Users\kullanici\.ssh\known_hosts` içindedir; komut aynıdır.
- **PuTTY:** "POTENTIAL SECURITY BREACH" penceresi açılır; parmak izini doğruladıktan sonra **Accept** ya da **Connect Once** seçin.
- **WinSCP ve FileZilla:** benzer bir uyarı gösterir; doğruladıktan sonra yeni anahtarı kabul edin.

## Uyarıyı hiç görmeyi bırakmak için yapılmaması gerekenler

Bu kontrolü kapatan `StrictHostKeyChecking no` ayarını kalıcı yapmayın. Uyarıyı susturmak, gerçek bir saldırıyı da susturmak demektir. Doğru çözüm eski kaydı silmek ve yenisini kabul etmektir. Bağlanamıyorsanız başka sebepler için [SSH hataları](https://kervanhosting.com/bilgi-bankasi/makale/ssh-hatalari-permission-denied-ve-connection-refused) ve [zaman aşımı](https://kervanhosting.com/bilgi-bankasi/makale/ssh-connection-timed-out-zaman-asimi-nedenleri-ve-cozumu) makalelerine bakın. Sunucu paketleri: [Linux VDS](https://kervanhosting.com/linux-vds).

## Sık sorulanlar

### `ssh-keygen -R` hangi dosyayı değiştirir?

Kendi kullanıcı klasörünüzdeki `~/.ssh/known_hosts` dosyasını. Sunucuya hiçbir şey yapmaz, yalnızca bilgisayarınızın hatırladığı kaydı siler.

### Uyarı sunucuyu hiç yeniden kurmadığım halde çıktı.

Bu durumda dikkatli olun. Parmak izini VNC Konsol'dan doğrulayın. Eşleşmiyorsa o ağdan bağlanmayın, parolanızı değiştirin ve [yetkisiz erişim kontrol listesine](https://kervanhosting.com/bilgi-bankasi/makale/sunucuma-yetkisiz-erisim-oldu-mu-kontrol-listesi) bakın.

### Toplu olarak birçok sunucuda bu hatayı alıyorum.

Aynı IP adreslerini farklı sunucular için yeniden kullanıyorsanız hepsi için ayrı kayıt silmeniz gerekir. Otomasyonda `known_hosts` dosyasını kendiniz yönetin; kontrolü kapatmak yerine ilk bağlantıda anahtarı `ssh-keyscan` ile alıp kaydedin.

**İlgili makaleler**

- [SSH hataları: "Permission denied" ve "Connection refused"](https://kervanhosting.com/bilgi-bankasi/makale/ssh-hatalari-permission-denied-ve-connection-refused)
- [İşletim sistemini yeniden kurma (formatlama)](https://kervanhosting.com/bilgi-bankasi/makale/isletim-sistemini-yeniden-kurma-formatlama)
- [SSH ile Linux sunucuya nasıl bağlanırım?](https://kervanhosting.com/bilgi-bankasi/makale/ssh-ile-linux-sunucuya-nasil-baglanirim)

*Sorununuz çözülmediyse [destek talebi açın](https://kervanhosting.com/destek-taleplerim). Hangi adımı denediğinizi ve ekranda ne gördüğünüzü yazarsanız çözüm çok daha hızlı olur.*
