SSH key ile şifre girişini devre dışı bırakma rehberi
SSH key tabanlı giriş kurup parola (password) doğrulamayı kapatın. Güvenli yapılandırma, hatasız test adımları ve geri dönüş planı.
SSH ile sunucuya erişimde şifre (password) tabanlı giriş çoğu senaryoda gereksiz risk üretir. İsteğe bağlı otomatik denemeler, zayıf şifreler veya uzun süre değişmeyen parolalar doğrudan brute force saldırı yüzeyi yaratır. Bu rehberde, bir sunucuda SSH key (anahtar) kullanımını doğru şekilde kurup ardından şifre tabanlı girişi devre dışı bırakma işlemini adım adım yapacaksınız. Ayrıca yanlışlıkla bağlantıyı kesme riskini azaltmak için test ve geri dönüş planı da vereceğim.
Ön hazırlık: Parola kapatmadan önce doğrulama planı
Parola doğrulamayı kapattığınız anda, yeni anahtar yöntemi doğru çalışmıyorsa erişim kaybedebilirsiniz. Bu yüzden süreci iki aşamalı yürütün: önce anahtarları kurun ve bağlanmayı test edin, sonra PasswordAuthentication ayarını devre dışı bırakın.
Hangi senaryoda dikkat gerekir?
- Uzak sunucuya sadece SSH üzerinden erişiyorsanız (panel üzerinden konsol erişimi yoksa) mutlaka önce test yapın.
- Kurumsal ağlarda jump host (sıçrama sunucusu) varsa, anahtarın doğru kullanıcıya yüklendiğinden emin olun.
- Yetkilerde yanlışlık (yanlış
user, yanlış izinler) en sık görülen hatadır.
Hedef ayarlar
Bu rehberde standart ve güvenli bir başlangıç hedefi şu olacaktır:
- PubkeyAuthentication yes
- PasswordAuthentication no
- Kullanıcı bazında güvenli yetkiler: ~/.ssh dizini 700, authorized_keys 600
- PermitRootLogin no (opsiyonel ama güçlü öneri)
Adım 1: SSH anahtarı üretin (key pair)
Yerel makinenizde anahtar üretin. OpenSSH istemcisi olan Windows/Linux/macOS sistemlerde yaygın olarak aynı yaklaşım geçerlidir.
Yeni anahtar üretme
Aşağıdaki komut ile modern bir algoritma seçin. En yaygın seçenek ed25519’dır.
ssh-keygen -t ed25519 -a 64 -f ~/.ssh/netkeyyas_2026
- Önemli çıktı:
~/.ssh/netkeyyas_2026(özel anahtar) ve~/.ssh/netkeyyas_2026.pub(kamu anahtarı). - Özel anahtarınızı kesinlikle paylaşmayın.
Anahtara passphrase eklemek gerekir mi?
Passphrase eklemek ek güvenlik sağlar. Parola girişi kapatılınca bile özel anahtar dosyası ele geçirilirse risk devam eder. Bu yüzden mümkünse passphrase’li anahtarı tercih edin. Eğer otomasyon kullanıyorsanız, ajan (ssh-agent) ile yönetmek daha sağlıklıdır.
Adım 2: Kamu anahtarını sunucuya yükleyin
Amacınız: doğru kullanıcı hesabının ~/.ssh/authorized_keys dosyasına kamu anahtarını eklemek.
En güvenli yöntem: ssh-copy-id
Yerel makinenizde:
ssh-copy-id -i ~/.ssh/netkeyyas_2026.pub kullanici@sunucu_ip
Bu işlem doğru dosya yapısını ve izinleri hedef kullanıcının ev dizini altında kurmaya yardımcı olur. Sağlamlık için yine de izinleri kontrol edeceğiz.
Alternatif: elle ekleme (yetkilere dikkat)
Sunucuda hedef kullanıcı ile oturum açın (şimdilik parola ile). Ardından:
- ~/.ssh klasörü yoksa oluşturun
- authorized_keys içine kamu anahtarını yapıştırın
Örnek komutlar:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
Kamu anahtarını tek satır halinde yapıştırın. Başında/ sonunda boşluk kalmamalıdır.
Adım 3: Anahtar ile giriş çalışıyor mu test edin
Parola girişini kapatmadan önce anahtarın gerçekten çalıştığını doğrulayın.
Parola yerine anahtar ile zorla giriş testi
Yerel makinede aşağıdaki gibi özel anahtarı belirterek test edin:
ssh -i ~/.ssh/netkeyyas_2026 kullanici@sunucu_ip
- İstemci sizden parolayı istememelidir; anahtar ile kimlik doğrulama gerçekleşmelidir.
- Her şey yolundaysa devam edin.
Hızlı doğrulama komutları
Sunucuda SSH servisinin anahtar doğrulamayı kabul ettiğini görmek için /var/log/auth.log (Debian/Ubuntu) veya /var/log/secure (CentOS/RHEL) dosyalarından kontrol yapabilirsiniz.
Örnek:
- tail -n 100 /var/log/auth.log
- ya da sudo journalctl -u ssh -n 100
Bu adım, özellikle ilk kurulumda “neden bağlanamadım?” sorusunu hızlı çözer.
Adım 4: SSH daemon ayarlarını düzenleyin
Şifre tabanlı girişi kapatmanın kilit adımı sshd_config dosyasını güncellemektir.
Dosya konumu ve servis adı
Dağıtıma göre genelde şu dosya kullanılır:
- Debian/Ubuntu: /etc/ssh/sshd_config
- RHEL/CentOS: /etc/ssh/sshd_config
Önce dosyayı yedekleyin:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak_$(date +%F)
Önerilen ayarlar
/etc/ssh/sshd_config içine/varsa mevcut satırları şu şekilde olacak biçimde güncelleyin:
PubkeyAuthentication yesPasswordAuthentication noChallengeResponseAuthentication no(gerekli değil ama güvenliği artırır)UsePAM yes(çoğu sistemde sorun çıkarmaz)PermitRootLogin no(güçlü öneri)AllowUsersveyaAllowGroups(opsiyonel ama kontrollü erişim sağlar)
Önemli: Dosyada aynı ayar birden fazla kez geçiyorsa, kullanılan değer “son geçen” ayar olur. Bu yüzden dosya içinde tekrarları kontrol edin.
Uzak erişim kesilmesin diye sistematik ilerleyin
En kritik pratik: ayarları değiştirdikten sonra sshd yapılandırmasını doğrulayın.
sudo sshd -t
Hata yoksa devam edin.
Adım 5: SSH servisini yeniden başlatın
Yapılandırma doğrulandıktan sonra servisi restart edin.
sudo systemctl restart ssh
Bazı sistemlerde birim adı farklı olabilir:
- systemctl restart sshd
Aşağıdaki ile hangi birim aktif bakılır:
- systemctl status ssh
- systemctl status sshd
Restart sonrası yine anahtar ile giriş test edin.
Adım 6: Parola girişinin gerçekten kapandığını kanıtlayın
Sadece “ayar yaptım” güvenli değildir. Şifre tabanlı doğrulamanın kapandığını kanıtlayın.
Test: Parola ile zorla giriş denemesi
Yerel makinede anahtar kullanmadan (veya farklı bir anahtarla) deneme yapın:
ssh kullanici@sunucu_ip
Senaryo:
- Sistem parolayı istememeli veya parola ile kimlik doğrulama başarısız olmalıdır.
- Hata loglarında authentication failure türü kayıtlar görülür.
Sunucu tarafında log kontrolü
sudo journalctl -u ssh -n 100- veya Debian/Ubuntu için
sudo tail -n 100 /var/log/auth.log
Loglarda “publickey” ile başarılı giriş görülür; “password” ile giriş kabul edilmez.
Geri dönüş planı (bağlantı kesilirse)
Parola kapatıldıktan sonra erişim kaybedebilirsiniz. Bunu azaltmak için şu planı hazır tutun.
1) Aynı anda yeni oturum açmayı bitirmeden geçmeyin
Yeni anahtar ile oturumu doğruladıktan sonra ikinci bir terminal/oturum açıp ayarı test edin. Tek oturumla değişiklik yapmak risklidir.
2) Konsol erişimi varsa kullanın
Bir sunucu panelinde “Konsol” veya “Recovery” gibi erişimler varsa, bu özellik değişiklik sırasında en büyük emniyet kemeridir.
3) Hızlı geri dönüş: config yedeğine dönün
Erişim kesilirse SSH olmayan bir yol (konsol) ile yedekten geri dönün:
- PasswordAuthentication satırını tekrar yes yapın
- sshd -t doğrulayın
- servisi restart edin
Ek güvenlik önerileri: Aynı hedefle daha sıkı kontrol
Şifre tabanlı girişi kapatmak ana adımdır; ancak aynı dosyadan birkaç net iyileştirme daha yapabilirsiniz.
Kullanıcı ve grup bazlı erişim
Örneğin sadece belirli kullanıcıları izin vermek için:
- AllowUsers kullanici1 kullanici2
Root girişini kapatın
PermitRootLogin no
Böylece anahtar sizde olsa bile root hesabına doğrudan deneme yüzeyi azalır.
Zorunlu anahtar (opsiyonel kural)
Kurumsal yapılarda sadece belirli IP aralığından erişim istenir. Bu durumda:
- AllowUsers + from tabanlı kısıt
- ya da güvenlik duvarı (firewall) ile kısıt
SSH tarafında IP kısıtını yapacaksanız, NAT/proxy kullanan kullanıcıların erişimlerini kesinleştirin.
İzin hataları: En sık “anahtar çalışmıyor” sebepleri
Anahtarların sunucuda doğru yerde olması yetmez; izinler kesin olmalıdır.
Aşağıdaki kontrol, sorun gidermenin en hızlı yoludur:
Hızlı izin kontrolü
Sunucuda hedef kullanıcı ile:
- chmod 700 ~/.ssh
- chmod 600 ~/.ssh/authorized_keys
- ~/.ssh dizin sahibi doğru kullanıcı olmalı
Komutlar:
ls -ld ~ ~/.ssh ~/.ssh/authorized_keys
İzin ve sahiplik yanlışsa SSH key reddeder.
Karşılaştırma: Parola ile SSH vs SSH key ile erişim
Aşağıdaki tablo, teknik kararı somutlaştırır.
| Kriter | Şifre (PasswordAuthentication) | SSH key (PublickeyAuthentication) |
|---|---|---|
| Kimlik doğrulama modeli | Parola doğrulama | Anahtar doğrulama (public key) |
| Brute force riski | Yüksek (tahmin/deneme yüzeyi) | Düşük (anahtar sahipliğine bağlı) |
| Loglarda kanıt | Başarısız denemeler sık görülebilir | Başarılı/başarısız key logları net olur |
| Güvenli rotasyon | Parola güncelleme zor olabilir | Anahtarı ekle/çıkar ile yönetim kolay |
| Otomasyon uyumu | Riskli | Agent ve key yönetimi ile güçlü |
| Uygulama maliyeti | Düşük başlangıç, yüksek risk | Başlangıç maliyeti var, risk düşer |
Pratik kontrol listesi (uygula-kontrol et)
Parola kapatmadan önce ve sonra şu sırayı izleyin.
Parola kapatmadan önce (checklist)
- [ ] Kamu anahtarı doğru kullanıcıya yüklendi
- [ ]
~/.sshizinleri: 700 - [ ]
authorized_keysizinleri: 600 - [ ]
ssh -i özel_anahtar kullanici@ipile giriş başarıyor
Parola kapattıktan sonra (checklist)
- [ ]
PasswordAuthentication noaktif - [ ]
sshd -thatasız - [ ] Servis restart edildi
- [ ] Anahtar ile giriş başarıyor
- [ ] Parola ile giriş başarısız oluyor veya parolayı istemiyor
Sonuç: Parola kapatmayı tek hamle yapmayın, kontrollü geçin
SSH key kurup şifre tabanlı girişi devre dışı bırakma adımı, sunucu güvenliğinde en net iyileştirmelerden biridir. Aksiyon önerim: Önce anahtar ile girişinizi kanıtlayın, ardından sshd_config üzerinde PasswordAuthentication no değişikliğini sshd -t doğrulaması ve servis restart testiyle tamamlayın. En son olarak parolayı devre dışı bıraktığınızı log ve deneme ile doğrulayın; böylece erişim kesilmesi riskini kontrol altında tutarsınız.
Hosting karşılaştırması yapmaya hazır mısın?
100+ firmanın fiyatlarını tek tıkla karşılaştır, en uygun paketi bul.
Hosting Karşılaştır →İlgili Yazılar
Hreflang Tag’leri Çoklu Lokasyon Hosting’de Nasıl Kurulur?
Çoklu lokasyon hosting kullanan sitelerde hreflang etiketleri nasıl doğru yönetilir? CDN, önbellek ve yönlendirme kurallarıyla hatasız kurulum adımları.
Bot Trading için VDS’de düşük gecikme nasıl sağlanır?
Bot trading’de düşük gecikme için VDS konum, ağ, kernel, zaman senkronu, DNS, bağlantı ayarları ve ölçüm adımlarını net biçimde görün.
Managed Dedicated Server: Uçtan Uca Yönetimin 9 Somut Avantajı
Uçtan uca yönetilen (managed) dedicated server; kurulumdan güvenliğe, yedeklemeden izlemeye kadar net avantajlarıyla operasyon maliyetini düşürür.
WordPress Staging: Hosting’de demo siteyi doğru kurma
WordPress staging (demo) siteyi hosting üzerinde nasıl oluşturacağınızı adım adım öğrenin: kopyalama, domain, test, yedek ve yayın.
