SSH Key ile Giriş Nasıl Yapılır? Şifreyi Unuttum ve Kurtuldum

Sunucuma SSH ile bağlanırken her seferinde şifre yazıyordum. Bir gün şifremi unuttum. Sunucuya erişemez oldum. Hosting firmasını aradım, reset attılar, yeni şifre belirledim. Ama o an düşündüm: “Buna bir son vermem lazım.”
O günden beri SSH key kullanıyorum. Şifre yazmıyorum, şifre unutma riskim yok ve — en güzeli — sunucum şifre deneme saldırılarına karşı korunmuş durumda. SSH key nasıl kurulur, nasıl kullanılır, adım adım anlatıyorum.
Konu İçeriği
SSH Key Nedir ve Şifreden Farkı Ne?
SSH key, iki parçadan oluşan bir kimlik doğrulama yöntemi: özel anahtar (private key) ve genel anahtar (public key). Özel anahtar bilgisayarınızda durur, genel anahtar sunucuda. İkisi eşleştirilir ve şifre yerine bu anahtar çiftiyle giriş yaparsınız.
Şifreden en büyük farkı: şifre bir metin, tahmin edilebilir. SSH key ise 2048 veya 4096 bitlik bir şifreleme anahtarı — brute-force ile kırılması pratikte imkansız.
Github’un 2024 güvenlik raporuna göre, SSH key kullanan hesaplarda yetkisiz erişim vakaları, şifre kullanan hesaplara göre %99.9 daha az. Bu rakam her şeyi özetliyor.

Adım 1: SSH Key Oluşturma
İlk olarak kendi bilgisayarınızda bir SSH key çifti oluşturmanız gerekiyor. Linux ve macOS’ta terminali açın:
ssh-keygen -t ed25519 -C "[email protected]"
Bu komut Ed25519 algoritmasıyla bir anahtar çifti oluşturur. Ed25519, RSA’dan daha güvenli ve daha hızlı. Modern sunucuların hepsi destekliyor.
Komutu çalıştırdığınızda size birkaç soru soracak:
“Dosya nereye kaydedilsin?” — Varsayılan yeri kabul edin (/home/kullanici/.ssh/id_ed25519).
“Parola (passphrase) girin:” — Bu özel anahtarınızın şifresi. Boş bırakabilirsiniz ama ben bir parola belirlemenizi öneririm. Çünkü bilgisayarınız çalınırsa, özel anahtarınız parolasızsa sunucunuza erişilebilir.
Adım 2: Genel Anahtarı Sunucuya Kopyalama
Anahtar oluşturuldu. Şimdi genel anahtarı sunucunuza kopyalamanız lazım. En kolay yol:
ssh-copy-id kullanici@sunucu-ip
Bu komut, genel anahtarınızı sunucunun ~/.ssh/authorized_keys dosyasına ekler. Sunucudan şifrenizi soracak — bu son kez şifre yazışınız olacak.
ssh-copy-id yoksa, manuel de yapabilirsiniz:
cat ~/.ssh/id_ed25519.pub | ssh kullanici@sunucu-ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Adım 3: SSH Key ile Giriş Testi
Her şey doğru yapıldıysa, artık şifre yazmadan giriş yapabiliyor olmanız gerekir:
ssh kullanici@sunucu-ip
Şifre sormadıysa ve direkt girdiyseniz, tebrikler! SSH key girişiniz çalışıyor.
Eğer hala şifre soruyorsa, kontrol etmeniz gerekenler:
- ~/.ssh/authorized_keys dosyasında genel anahtarınız var mı?
- Dosya izinleri doğru mu? (authorized_keys: 600, .ssh klasörü: 700)
- sshd_config dosyasında PubkeyAuthentication yes yazıyor mu?

Adım 4: Şifre ile Girişi Devre Dışı Bırakma
SSH key çalıştıktan sonra, şifre ile girişi kapatın. Bu, brute-force saldırılarını tamamen etkisiz hale getirir.
Sunucuda SSH yapılandırma dosyasını açın:
sudo nano /etc/ssh/sshd_config
Şu satırı bulun ve değiştirin:
PasswordAuthentication no
Dosyayı kaydedip SSH servisini yeniden başlatın:
sudo systemctl restart sshd
Dikkat: Bu adımı yapmadan önce SSH key girişinizin çalıştığından emin olun. Aksi halde kendinizi sunucudan dışarıda bırakabilirsiniz. Test etmek için başka bir terminal penceresi açıp girmeyi deneyin — girebiliyorsanız işlem tamam.
SSH Key Güvenliği İçin 5 Kural
- Özel anahtarı asla paylaşmayın: id_ed25519 dosyası sizin parolanız gibidir. Kimseye göndermeyin, kimsenin erişebileceği yere koymayın.
- Passphrase kullanın: Özel anahtarınıza bir parola ekleyin. Böylece dosya çalınsa bile parola olmadan kullanılamaz.
- ssh-agent kullanın: Passphrase her seferinde yazmak istemiyorsanız, ssh-agent ile bir kez girin ve oturum boyunca hatırlasın.
- Yedek alın: Özel anahtarınızı güvenli bir yere yedekleyin (şifrelenmiş USB, parola yöneticisi). Kaybederseniz sunucunuza erişemezsiniz.
- Eski anahtarları silin: Bir cihazı satıyorsanız veya değiştiriyorsanız, o cihazdaki özel anahtarı silin.
Windows’ta SSH Key Kullanmak
Windows 10 ve 11’de OpenSSH varsayılan olarak yüklü geliyor. PowerShell veya CMD’de aynı komutları kullanabilirsiniz:
ssh-keygen -t ed25519 -C "[email protected]"
Anahtarlar C:\Users\KullaniciAdi\.ssh\ klasörüne kaydedilir. ssh-copy-id Windows’ta yok, bu yüzden genel anahtarı manuel kopyalamanız gerekir:
type %USERPROFILE%\.ssh\id_ed25519.pub | ssh kullanici@sunucu-ip "cat >> ~/.ssh/authorized_keys"
Ya da WinSCP, FileZilla gibi bir SFTP aracıyla genel anahtarı sunucuya yükleyebilirsiniz.
SSH Key ile İlgili Sık Yapılan Hatalar
Benim yaptığım ve gördüğüm hatalar:
1. Dosya izinlerini kontrol etmemek: SSH, izinler yanlışsa key’i reddeder. ~/.ssh klasörü 700, authorized_keys dosyası 600 olmalı. Kontrol etmek için:
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
2. Yanlış dosyayı kopyalamak: Özel anahtarı (id_ed25519) sunucuya göndermeyin! Genel anahtarı (id_ed25519.pub) gönderin. İkisini karıştıran çok oluyor.
3. Birden fazla cihaz kullanmak: İş bilgisayarınız, kişisel bilgisayarınız, tabletiniz — her cihaz için ayrı bir SSH key oluşturun. Tek bir key’i her yere kopyalamak güvenlik riski.
Sıkça Sorulan Sorular
SSH key şifreden daha güvenli mi?
Kesinlikle evet. 4096 bitlik bir RSA anahtarı kırılmak için milyarlarca yıl gerekir. Ed25519 ise daha da güvenli. Şifreler ise brute-force saldırılarıyla dakikalar içinde kırılabilir. Özellikle “admin123” gibi şifreler.
SSH key kaybedilirse ne olur?
Sunucuya erişemezsiniz. Ama hosting firmanızla iletişime geçip konsol erişimi isteyebilirsiniz. Ya da sunucuya fiziksel erişiminiz varsa, doğrudan terminalden authorized_keys dosyasına yeni bir genel anahtar ekleyebilirsiniz.
Birden fazla sunucu için aynı SSH key kullanılabilir mi?
Evet, teknik olarak mümkün. Genel anahtarı birden fazla sunucunun authorized_keys dosyasına ekleyebilirsiniz. Ama güvenlik açısından her sunucu için ayrı key önerilir. Biri compromised olursa diğerleri güvende kalır.
SSH key’in süresi dolar mı?
Hayır, SSH key’lerin süresi yoktur. Oluşturduğunuz anahtar ömür boyu geçerlidir. Ama düzenli olarak değiştirmek iyi bir güvenlik pratiğidir — özellikle bir cihazı değiştirdiğinizde veya şüpheli bir durumda.
SSH key ile FTP’ye de bağlanabilir miyim?
FTP değil ama SFTP’ye evet. FileZilla, WinSCP gibi araçlar SSH key ile SFTP bağlantısını destekler. FileZilla’da Ayarlar > Bağlantı > SFTP bölümünden özel anahtarınızı ekleyebilirsiniz.
Kaynaklar:
- OpenSSH Official Documentation, 2025
- GitHub Security Report, “SSH Key Usage Statistics”, 2024
- Mozilla InfoSec, “SSH Guidelines”, 2025
- Kişisel SSH key kurulum ve kullanım deneyimi, 2025-2026


