Ana içeriğe geç

SSH Anahtar Tabanlı Kimlik Doğrulama

Parola yerine SSH anahtar çifti kullanmak, sunucunuzu brute force saldırılarına karşı çok daha güvenli hale getirir.

Anahtar Çifti Oluşturma​

Windows (PowerShell)​

ssh-keygen -t ed25519 -C "email@example.com"

Linux / macOS​

ssh-keygen -t ed25519 -C "email@example.com"

Oluşturulan dosyalar:

  • ~/.ssh/id_ed25519 → Özel anahtar (hiç kimseyle paylaşmayın!)
  • ~/.ssh/id_ed25519.pub → Açık anahtar (sunucuya kopyalanacak)

Açık Anahtarı Sunucuya Kopyalama​

Yöntem 1: ssh-copy-id (Linux/macOS)​

ssh-copy-id -i ~/.ssh/id_ed25519.pub kullaniciadi@sunucu-ip

Yöntem 2: Manuel Kopyalama​

# Açık anahtarın içeriğini görüntüleyin
cat ~/.ssh/id_ed25519.pub

# Sunucuda bu komutu çalıştırın:
mkdir -p ~/.ssh
echo "AÇIK_ANAHTAR_İÇERİĞİ" >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

SSH Yapılandırmasını Güncelleme​

Anahtar erişimi çalıştığını doğruladıktan sonra parola girişini kapatın:

nano /etc/ssh/sshd_config

Aşağıdaki satırları değiştirin:

PasswordAuthentication no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

Servisi yeniden başlatın:

systemctl restart ssh

Bağlantı Testi​

ssh -i ~/.ssh/id_ed25519 kullaniciadi@sunucu-ip

:::tip İpucu ~/.ssh/config dosyasına kısayol ekleyerek bağlantıyı kolaylaştırabilirsiniz:

Host rabisu-ds
HostName sunucu-ip
User kullaniciadi
IdentityFile ~/.ssh/id_ed25519

Artık sadece ssh rabisu-ds yazmanız yeterlidir. :::