Rehber 13 Kasım 2026 · 6 dakika okuma

SSH Key ile Şifreli Girişi Devre Dışı Bırakma Rehberi

SSH key ile giriş yapıp şifre tabanlı oturumu kapatın: adım adım yetkilendirme, güvenli test ve kilitlenmeyi önleme kontrolleri.

SSH üzerinden yönetim, VDS/VPS ve dedicated sunucularda günlük rutinin parçasıdır. Ancak şifre tabanlı SSH girişi, doğru parolalar bile olsa kaba kuvvet denemelerine (brute force) maruz kalır. Bu rehberde SSH key kullanarak oturum açmayı standart hale getirip şifre tabanlı girişi devre dışı bırakma adımlarını net biçimde uygulayacaksınız. En kritik nokta: ayarı yanlış yapmanız durumunda sunucuya erişiminizin kesilmesini önlemek için test ve geri dönüş planını birlikte kurmak.

Hedef: “Key ile giriş var, şifre ile giriş yok” mantığı

Şifreli SSH, parola deneme trafiğine açık olduğu için riskli kabul edilir. SSH key (public/private key) yaklaşımında sunucu, elinizdeki özel anahtarı (private key) değil; siz giriş yaptığınızda imzayı doğrulayarak yetki verir.

Net hedefler: - Sunucuda en az bir authorized_keys kaydı aktif olacak. - İki ayrı test yapacağız: mevcut oturum doğrulaması ve ayrı bir terminal/oturum üzerinden yeni ayar sonrası giriş testi. - En sonunda sshd_config üzerinden şifre doğrulamayı kapatacağız.

Not: Bu rehber Linux tabanlı sunucular (Debian/Ubuntu/CentOS/RHEL türevleri) için yazılmıştır. Yol ve servis adı dağıtıma göre küçük farklılık gösterebilir.

Ön kontrol: Kilitlenmeyi engelleyen 3 adım

Şifreli girişi kapatmadan önce şu kontrol listesi tamamlanmalıdır.

1) Mevcut kullanıcıda key yetkisi var mı?

  1. Sunucuya mevcut yönteminizle (genelde şifreyle) bağlanın.
  2. Ana dizinde authorized_keys dosyasının varlığını kontrol edin.
ls -la ~/.ssh
ls -la ~/.ssh/authorized_keys
  • ~/.ssh klasörü ve authorized_keys dosyası yoksa, aşağıdaki “SSH key oluşturma ve ekleme” adımını uygulayın.

2) Yeni key’i doğrulayın (private key elinizde mi?)

Key çifti şu mantıkla çalışır: - private key: Sadece sizde kalmalı. Sunucuda tutulmaz. - public key: Sunucuya yüklenir.

Private key bilgisayarınızda değilse, sunucudan yeni key üretip public kısmı ekleseniz bile erişim senaryosu değişir. Bu rehberin hedefi, elinizde private key varken sunucuyu güvenli şekilde güncellemektir.

3) Çift oturum testi planı yapın

Şifre doğrulamayı kapattığınız anda yeni oturum açmazsanız kilitlenme riski artar. Bu yüzden: - Mevcut SSH oturumunuzu kapatmayın. - Aynı anda ikinci bir terminal üzerinden (tercihen farklı ağdan) yeni ayarla giriş denemesi yapın. - Sonra başarılıysa mevcut oturumdan çıkın.

SSH key oluşturma ve sunucuya ekleme

Hedef: Ed25519 kullanın

Modern dağıtımlarda en pratik yöntem ed25519 anahtar türüdür. Aşağıdaki komut yerel makinede (Windows/Linux/macOS) çalıştırılır.

ssh-keygen -t ed25519 -a 64 -f ~/.ssh/netkiyas_vps_key
  • Dosya yolu iki parçayı üretir: ..._key (private) ve ..._key.pub (public)

Public key’i almak için:

cat ~/.ssh/netkiyas_vps_key.pub

Public key’i sunucuya ekleyin (iki güvenli yöntem)

Yöntem A: Oturum açıkken manuel ekleme

Sunucuda hedef kullanıcı için:

mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys

Public key çıktısını satırın tamamı tek satır olacak şekilde authorized_keys içine yapıştırın. Sonra izinleri doğrulayın:

chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

Yöntem B: ssh-copy-id ile otomatik ekleme

ssh-copy-id mevcutsa daha hızlıdır:

ssh-copy-id -i ~/.ssh/netkiyas_vps_key.pub user@sunucu_ip

Bu işlem, public key’i doğru dosya/izinlerle yerleştirir.

sshd_config düzeni: Şifreli girişi kapatmanın doğru yeri

SSH ayarları genelde /etc/ssh/sshd_config veya bazı dağıtımlarda /etc/ssh/sshd_config.d/*.conf parçaları üzerinden yönetilir.

Ana dosyada doğru satırları bulun

Önce mevcut yapılandırmayı yedekleyin:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak_$(date +%F)

Dosyayı açın:

sudo nano /etc/ssh/sshd_config

Hedeflediğimiz parametreler: - PasswordAuthentication no - KbdInteractiveAuthentication no (varsa) - ChallengeResponseAuthentication no (varsa) - İsteğe bağlı ama sık kullanılan: UsePAM no (PAM kullanan sistemlerde dikkat)

En kritik satırlar şunlardır: - PasswordAuthentication: şifreyle giriş kapatır. - KbdInteractiveAuthentication: bazı sistemlerde parola/etkileşim mekanizması şifreye benzer denemelere yol açabilir.

Rehberin net hedefi için sshd_config içine (varsa var olan satırları güncelleyerek) şu ayarları ekleyin:

PasswordAuthentication no
KbdInteractiveAuthentication no
ChallengeResponseAuthentication no

Eğer dağıtımınız PAM tabanlı 2FA kullanıyorsa, UsePAM kapatma önerisi her senaryoda doğru değildir. Bu rehberde ilk adım olarak şifre doğrulamasını kapatıyoruz. Sonra kurum/uygulamanıza göre PAM/2FA ayarlarını ayrı değerlendirmeniz gerekir.

Public key ile giriş zorunlu mu yapılmalı?

Genellikle PubkeyAuthentication yes varsayılan olarak etkindir. Yine de netleştirmek için şunları kontrol edin:

PubkeyAuthentication yes

Değişiklikleri test etme: Canlıda hata yapmamak için kontrol komutları

Konfigürasyonu güncelledikten sonra SSH daemon yeniden başlatılmadan önce doğrulama yapılmalıdır.

sshd konfigürasyonunu doğrulayın

sudo sshd -t
  • Bu komut hata vermezse, satır sözdizimi açısından risk azalır.

Servisi yeniden yükleyin

Çoğu sistemde:

sudo systemctl reload sshd

Bazı sistemlerde servis adı ssh olabilir:

sudo systemctl reload ssh

Ayrı oturum testi yapın

  • Mevcut oturum açık kalsın.
  • Yeni bir terminalden -i ile key’i belirterek tekrar bağlanın:
ssh -i ~/.ssh/netkiyas_vps_key user@sunucu_ip

Başarılı olursa bir sonraki aşamaya geçin. Başarısız olursa: - Mevcut oturumu kapatmayın. - sshd -T | grep -i password gibi çıktı kontrolüyle parametrelerin gerçekten uygulandığını doğrulayın. - Geri dönüş olarak .bak dosyasını kullanıp tekrar doğrulama + reload yapın.

Yetkilendirme güvenliği: authorized_keys izinleri ve kullanıcı kısıtları

Şifre doğrulamayı kapatmak tek başına yeterli değildir. SSH’nin key kabul etmesi için izinler kritik derecede önemlidir.

İzinler neden önemli?

Eğer ~/.ssh ve authorized_keys izinleri “çok açık” olursa sshd anahtarları görmez ve key ile giriş çalışmaz.

Uygun izin şeması: - ~/.ssh : 700 - authorized_keys : 600

Kontrol:

namei ~/.ssh
ls -la ~/.ssh ~/.ssh/authorized_keys

Hangi kullanıcılar erişsin?

İsterseniz SSH config içinde sadece belirli kullanıcıları izinli kılabilirsiniz.

AllowUsers user1 user2

Bu adımı eklediğinizde hedef kullanıcı(lar) listede olmalıdır. Aksi halde kilitlenme riski doğar.

Ek güvenlik: sadece key, doğru port, log izleme

SSH portunu değiştirmek “tek başına çözüm değildir”

Port değiştirme otomatik saldırıları azaltabilir ama ana risk (şifre denemesi) kapandığında anlamlı fayda doğar. Port değişimi bir hardening adımıdır; fakat bu rehberin ana odağı şifre doğrulamayı kaldırmaktır.

Fail2ban veya benzeri mekanizmalar

Şifre kapatıldıktan sonra brute force etkisi azalır. Yine de log izleme ve gerektiğinde fail2ban gibi araçlar, anomali tespiti için değerlidir.

Loglar: - Debian/Ubuntu: journalctl -u ssh --since "1 hour ago" - Sistemlere göre /var/log/auth.log

Örnek:

sudo journalctl -u ssh --since "30 minutes ago"

Sık yapılan hatalar ve net çözümler

Aşağıdaki sorunlar en sık kilitlenme veya giriş başarısızlığı yaratır.

Hata 1: authorized_keys izinleri yanlış

Belirti: Key ile giriş denemesi hata verir. Çözüm: chmod 700 ~/.ssh ve chmod 600 ~/.ssh/authorized_keys uygula.

Hata 2: config farklı dosyada override ediliyor

Belirti: sshd_config güncel ama değişiklikler etkisiz. Çözüm: Sisteminizde Include /etc/ssh/sshd_config.d/*.conf varsa ilgili parçaları da kontrol edin. Nihai ayarı görmek için:

sudo sshd -T | grep -i passwordauthentication

Hata 3: reload yerine yanlış restart süreci

Belirti: SSH anlık kesilir veya servis beklenmedik şekilde davranır. Çözüm: Konfigürasyon doğrulamasını yapın (sshd -t), ardından reload tercih edin. Kötü senaryoda bile mevcut oturumunuz sayesinde geri dönüş yapabilirsiniz.

Hata 4: Key yanlış kullanıcıya eklenmiş

Belirti: Başka kullanıcı ile bağlanınca çalışır gibi görünür, asıl kullanıcıda çalışmaz. Çözüm: Public key’in eklendiği authorized_keys dosyasının doğru kullanıcı hesabının ana dizininde olduğundan emin olun.

Şifreli giriş kapatma kararını hızlandıran kontrol tablosu

Aşağıdaki tablo, “kapatmadan önce tamam” kontrol listesini özetler.

Kontrol Komut/Belirti Doğru sonuç
authorized_keys var ls -la ~/.ssh/authorized_keys Dosya mevcut
SSH key izinleri chmod 700 ~/.ssh / chmod 600 ... İzinler doğru
Konfigürasyon doğrulama sudo sshd -t Hata yok
Şifre doğrulama kapalı sshd -T | grep -i passwordauthentication passwordauthentication no
Yeni oturum testi Ayrı terminalden ssh -i ... Giriş başarıyla tamamlanır
Geri dönüş planı Bak dosya mevcut .bak üzerinden hızlı dönüş

Sonuç: Bugün yapmanız gereken net aksiyon planı

Şifre tabanlı SSH girişini devre dışı bırakmak, brute force riskini doğrudan düşüren bir adımdır. Aksiyon sırası şu şekilde olmalı: önce SSH key yetkisini doğru kullanıcıya yükleyin, sonra sshd_config içinde PasswordAuthentication ve ilgili interaktif doğrulama ayarlarını kapatın, en sonda sshd -t doğrulaması + reload sonrası ikinci bir oturumla testi tamamlayın. Bu sırayı izlediğinizde kilitlenme riski minimuma iner ve sunucunuzu yönetirken güvenlik standardını ölçülebilir şekilde yükseltirsiniz.

Etiketler: #ssh #ssh key #güvenlik #vps #vds #hardening #parola kapatma

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

0 ürün seçildi