SSH (“Secure Shell”), özellikle uzak sunuculara bağlanırken kullanılan en yaygın yöntemdir. Şifre ile girişin kullanıldığı senaryolarda, brute force saldırıları veya parola sızmaları riski her zaman vardır. SSH anahtar doğrulaması (public key authentication) ise bu riski büyük ölçüde azaltır.
1. Anahtar Çifti Oluşturma
Kendi bilgisayarında terminalde şu komutu kullan:
ssh-keygen -t rsa -b 4096
Bu, “~/.ssh” dizininde bir özel anahtar (id_rsa) ve bir de genel anahtar (id_rsa.pub) oluşturur.
2. Genel Anahtarı Sunucuya Kopyalama
Aşağıdaki komut ile .pub dosyasını uzak sunucudaki ~/.ssh/authorized_keys dosyasına ekle:
ssh-copy-id kullanıcı@sunucu_ip
Veya elle dosya içeriğini kopyalayıp authorized_keys içine yapıştır.
3. SSH Konfigürasyonu ile Şifreli Girişi Kapatma
Sunucuda /etc/ssh/sshd_config dosyasını aç ve şu satırları düzenle:
PasswordAuthentication no PubkeyAuthentication yes
4. SSH Portunu Değiştirme ve Root Girişi Kısıtlama
Varsayılan port olan 22’yi farklı bir numaraya çek, root ile girişe izin verme:
Port 2222 PermitRootLogin no
5. Servisi Yeniden Başlatma
Değişiklikler yapıldıktan sonra SSH servisini yeniden başlat:
sudo systemctl restart sshd