Rehber 19 Ağustos 2026 · 6 dakika okuma

SSH key ile giriş: Şifre tabanlı oturumu kapatma rehberi

SSH’de şifre tabanlı girişi kapatın. Anahtar üretimi, yetkilendirme, test ve kalıcı güvenlik için adım adım planı öğrenin.

SSH erişimi (Secure Shell), sunucu yönetiminde en sık kullanılan kanallardan biridir. Şifre tabanlı oturumlar ise parola tahmini ve sözlük denemelerine açık olduğu için doğrudan risk oluşturur. Bu rehberde, SSH key (anahtar tabanlı kimlik doğrulama) kurulumunu, mevcut bağlantınızı kaybetmeden şifre girişini devre dışı bırakmayı ve doğrulama adımlarını net şekilde öğreneceksiniz.

Aşağıdaki adımlar; VDS/VPS/dedicated Linux sunucularda (Ubuntu/Debian/CentOS/RHEL ailesi) uygulanabilir. Hedefiniz: Şifreyle giriş kapalı, yalnızca anahtar (public key) ile erişim açık olsun.

SSH key kurulumunun temel mantığı

SSH iki parça kullanır: - Private key: Sizde kalır. Doğrudan sunucuya gönderilmez. - Public key: Sunucuya yüklenir. Sunucu, kimlik doğrulama için bu anahtarı “yetkili” olarak tanımlar.

Şifre tabanlı girişin kapatılması, sunucuya brute-force denemelerinin önünü keser. Anahtar tabanlı erişim ise parola yerine kriptografik imza mantığıyla çalışır ve otomatik tahmin denemeleriyle aşılması pratik olarak mümkün değildir.

İlk kritik kural: Şifreyi kapatmadan önce key ile bağlanın

Şifre girişini kapatmadan önce yeni oturumunuzu doğrulayın. Çünkü yanlış anahtar yükleme veya izin (permission) hataları, tek erişim yolunuz kapanırsa kurtarmayı zorlaştırır.

Aşağıdaki adımlar bu riski sıfıra indirgemek için sıraya alınmıştır.

Adım 1: Local bilgisayarda SSH key üretin

Sunucuya bağlanacağınız bilgisayarda yeni bir anahtar üretin. Linux/macOS için terminal, Windows için PowerShell/Terminal kullanabilirsiniz.

1) Anahtar üretin:

  • RSA yerine mümkünse ed25519 kullanın:
ssh-keygen -t ed25519 -a 64 -f ~/.ssh/netkiyas_sunucu

2) İsterseniz parola (passphrase) belirleyin. Passphrase kullanımı güvenliği artırır; otomasyonlarda ise agent (ssh-agent) ile yönetilir.

3) Çıktılar: - ~/.ssh/netkiyas_sunucu (private key) - ~/.ssh/netkiyas_sunucu.pub (public key)

Not: ~/.ssh klasörü ve dosya izinleri yanlışsa SSH bazen key’i reddeder. Bu rehber izin bölümlerinde devam eder.

Adım 2: Public key’i sunucuya yükleyin

Public key’i sunucuya yüklemenin iki doğru yöntemi vardır: (1) ssh-copy-id (mevcutsa) veya (2) manuel authorized_keys ekleme.

Yöntem A: ssh-copy-id

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

Komut başarılırsa artık şifreyle değil key ile bağlanabileceksiniz.

Yöntem B: Manuel authorized_keys

Public key içeriğini alın ve sunucuda doğru dosyaya yazın.

1) Yerel makinede public key’i görüntüleyin:

cat ~/.ssh/netkiyas_sunucu.pub

2) Sunucuya şimdilik şifre ile bağlanın (şifre kapatılmadan):

ssh user@sunucu_ip

3) Sunucuda authorized_keys dosyasını oluşturun ve ekleyin:

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

Public key satırını dosya sonuna yapıştırın.

4) İzinleri düzeltin:

chmod 600 ~/.ssh/authorized_keys

Yetki kontrolü (permission) neden şart?

SSH, ~/.ssh ve authorized_keys için çok sıkı izin kurallarına bakar. En yaygın hata: ~/.ssh veya authorized_keys world-writable (herkes yazabilir) olması.

Adım 3: Key ile girişin çalıştığını test edin

Şifre tabanlı girişi kapatmadan önce, yeni oturumun key ile açıldığını kanıtlayın.

Local bilgisayardan:

ssh -i ~/.ssh/netkiyas_sunucu user@sunucu_ip

Başarılı bağlandığında bir sonraki adıma geçin.

Testi doğrulamak için oturum içi kontrol

Sunucuya bağlandıktan sonra başka bir komutla erişimin sürdüğünü doğrulayın. Örneğin:

  • whoami
  • uname -a
  • Paket güncelleme yapmayın; sadece komutların çalıştığını kontrol edin.

Adım 4: sshd_config dosyasıyla şifre girişini kapatın

Şimdi hedef ayarı uygulayacağız. Dosya konumları dağıtıma göre değişebilir: - Debian/Ubuntu: /etc/ssh/sshd_config - Bazı sistemler: /etc/ssh/sshd_config.d/*.conf

Önce ana dosyayı kontrol edin.

Mevcut ayarı yedekleyin

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak_2026_08_19

Konfigürasyon satırlarını bulun

Aşağıdaki ayarları ekleyin veya mevcut değerleri değiştirin.

  • Şifre girişini kapatın:
  • PasswordAuthentication no
  • Boş/host bazlı giriş denemelerini kapatın (ek güvenlik):
  • PermitEmptyPasswords no
  • Kullanıcı adı parolası yerine anahtarla giriş hedeflenir:
  • ChallengeResponseAuthentication no

Dosyaya şu şekilde ekleyin (değerleri aynen bırakın):

  • PasswordAuthentication no
  • KbdInteractiveAuthentication no
  • ChallengeResponseAuthentication no
  • PermitRootLogin no (kök erişimi anahtar dışında engellemek için)

PermitRootLogin ayarı, kuruluşunuzun standardına göre değişebilir. Eğer root yerine ayrı kullanıcıyla giriş yapıyorsanız PermitRootLogin no daha nettir.

Adım 5: yapılandırmayı test edin ve servisi yeniden başlatın

sshd konfigürasyon testini çalıştırın

sudo sshd -t

Komut hata vermezse konfigürasyon söz dizimi (syntax) açısından sorunlu değildir.

Servisi yeniden yükleyin

sudo systemctl reload sshd

Bazı sistemlerde servis adı ssh olabilir:

sudo systemctl reload ssh

Doğrulama: Şifreyle giriş gerçekten kapanmış mı?

Yeni bir terminal penceresi açın ve şifreyle giriş denemesi yapın.

Örneğin key’i belirtmeden:

ssh user@sunucu_ip

Bu komut parola isterse (ve siz parola girebilirseniz) şifre tabanlı giriş kapatılmamıştır. Parola istemeden doğrudan reddediyorsa güvenlik hedefi sağlanmıştır.

Kritik: Testi, aynı oturum açıkken yapın. Eğer yanlış konfigürasyonla bağlantı düşerse, mevcut oturum kurtarma şansı sağlar.

Sık karşılaşılan sorunlar ve net çözümler

1) Public key eklendi ama yine şifre istiyor

Muhtemel nedenler: - authorized_keys yanlış konumda (ör. ~/.ssh/authorized_key) - İzinler gevşek/tutarsız - Doğru kullanıcıya key eklenmedi (örn. user yerine ubuntu)

Hızlı kontrol komutları:

  • Kullanıcının home dizinini ve SSH klasörünü doğrulayın:
  • echo $HOME
  • ls -la ~/.ssh
  • İzinleri kontrol edin:
  • chmod 700 ~/.ssh
  • chmod 600 ~/.ssh/authorized_keys

2) ssh -i ... ile çalışıyor ama normal komutla çalışmıyor

Bu, local tarafta ~/.ssh/config veya key’in default kullanımının değişik olmasından kaynaklanır.

Net çözüm: key dosyasını varsayılan isimle kullanın veya konfigurasyon girin. - Varsayılan key adı: ~/.ssh/id_ed25519

3) Sunucu reload sonrası hata veriyor

sudo sshd -t komutu hatalı çıktı verdiyse dosyada yanlış satır/karakter vardır.

Net çözüm: - sshd_config.bak_2026_08_19 yedeğini geri yükleyin - Sonra yeniden test edin.

4) Root girişini kapatınca bağlantı kayboldu

Root yerine normal kullanıcıyla bağlanıyorsanız doğru kullanıcı adıyla devam edin.

Net çözüm: - Yeni kullanıcıya key ekleyin - PermitRootLogin no hedefinizi doğru kurgulayın.

Karşılaştırma: Şifre tabanlı giriş yerine anahtar tabanlı erişim

Aşağıdaki tablo, aynı güvenlik hedefinde şifre vs key yaklaşımının farkını net özetler.

Özellik Şifre tabanlı SSH SSH key tabanlı SSH
Otomatik parola denemelerine açıklık Yüksek (brute-force risk) Düşük (anahtar yoksa giriş yok)
Loglarda davranış Çok sayıda “failed password” Daha az, daha net eşleşme
Yönetim Parola politikası, değişim Anahtar rotasyonu (key değişimi)
Hatalı konfigürasyon riski Şifre unutma/guess Yanlış izin/anahtar yüklemede erişim kaybı
Kurulum adımları Basit başlangıç Planlı kurulum gerektirir

Uygulama planı (5 adımda kapanış)

Bu plan, sunucu erişimini kaybetmeden ilerlemek için doğrudur:

  1. Local bilgisayarda ed25519 key üretin.
  2. Public key’i doğru kullanıcıya ~/.ssh/authorized_keys içine ekleyin.
  3. Şifreyi kapatmadan önce ssh -i ... ile bağlanın.
  4. /etc/ssh/sshd_config içinde PasswordAuthentication no ve güvenlik tamamlayıcı ayarları uygulayın.
  5. sshd -t ile test edin, reload sonrası şifre girişini deneme ile doğrulayın.

(Opsiyonel) SSH erişimini daha da sağlamlaştırma

Anahtar tabanlı erişim tek başına büyük iyileştirmedir. Ek olarak şu kontroller güvenlik seviyesini yükseltir: - AllowUsers veya AllowGroups ile yalnızca yetkili kullanıcıları tanımlamak - Gereksiz kullanıcılar için key eklememek - Fail2ban benzeri otomasyonlarla tekrar eden denemeleri kısıtlamak

Sonuç ve önerilen aksiyon

Şifre tabanlı SSH girişini kapatmak, sunucunuzu hedefleyen otomatik parola denemelerine karşı en net savunmalardan biridir. Bugün yapmanız gereken: Önce local makinede SSH key oluşturun, sonra doğru kullanıcıya authorized_keys ekleyin ve key ile bağlanabildiğinizi test edin. Test tamamlandıktan sonra PasswordAuthentication no ayarını uygulayıp sshd -t + reload ile doğrulayın; en son adım olarak şifreyle giriş denemesi yaparak kapatmayı kanıtlayın. Bu sırayı birebir takip ettiğinizde erişim kaybı riski minimuma iner.

Etiketler: #ssh #vds #vps #güvenlik #ssh key

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
NetKıyas AI
Hosting danışmanınız
Merhaba! Ben NetKıyas yapay zekâ asistanı. Hosting, VDS, VPS veya sunucu seçiminde size yardımcı olabilirim. Ne arıyorsunuz?