SSH anahtarı, sunucuya parola yerine kriptografik bir anahtar çiftiyle giriş yapmanızı sağlar. Çiftin özel anahtarı sizde kalır, açık anahtarı sunucuya konur. Parola denemesi (brute force) saldırılarına karşı parola ile girişten belirgin biçimde daha dayanıklıdır.
Anahtar çifti üretme
Linux, macOS ve güncel Windows (OpenSSH istemcisi) üzerinde aynı komut çalışır:
ssh-keygen -t ed25519 -C "is-bilgisayari-2026"Komut dosya yolunu sorar; varsayılan ~/.ssh/id_ed25519 genellikle uygundur. Ardından bir parola (passphrase) girin. Parola, özel anahtar dosyası çalınsa bile tek başına kullanılmasını zorlaştırır.
Ed25519 yeni anahtarlar için yaygın olarak önerilen türdür. Eski bir sistem desteklemiyorsa RSA kullanılabilir; bu durumda en az 3072 bit seçin:
ssh-keygen -t rsa -b 3072 -C "is-bilgisayari-2026"İki dosya oluşur:
| Dosya | Anlamı | Paylaşılır mı |
|---|---|---|
id_ed25519 | Özel anahtar | Hayır, kimseyle paylaşmayın |
id_ed25519.pub | Açık anahtar | Evet, sunuculara konur |
Açık anahtarı sunucuya kopyalama
Sunucuda parola ile giriş açıkken en kolay yol ssh-copy-id komutudur:
ssh-copy-id -i ~/.ssh/id_ed25519.pub kullanici@SUNUCU_IPKomut yoksa elle de yapılabilir. Sunucuda:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "AÇIK_ANAHTAR_SATIRI" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keysAÇIK_ANAHTAR_SATIRI yerine id_ed25519.pub dosyasının tek satırlık içeriğini koyun. Dizin ve dosya izinleri gevşekse SSH sunucusu anahtarı yok sayabilir.
Bağlanma ve doğrulama
ssh kullanici@SUNUCU_IPAnahtarla giriş çalıştığını görmeden parola girişini kapatmayın. Kapatma adımı için VPS'e ilk bağlantı ve güvenlik sertleştirme makalesine bakın.
ssh-agent ile parolayı bir kez girme
Her bağlantıda parola yazmamak için anahtarı agent'a ekleyebilirsiniz:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519macOS'ta ssh-add --apple-use-keychain seçeneği parolayı anahtar zincirinde saklar.
Sık hatalar
- Permission denied (publickey): açık anahtar
authorized_keysiçinde yok, izinler yanlış ya da yanlış kullanıcıya konmuş olabilir.ssh -v kullanici@SUNUCU_IPhangi anahtarın denendiğini gösterir. - WARNING: UNPROTECTED PRIVATE KEY FILE: özel anahtarın izni geniş.
chmod 600 ~/.ssh/id_ed25519ile düzeltin. - Özel anahtarı e-postayla, sohbetle ya da depoya göndermeyin. Sızdığından şüphelenirseniz yeni bir çift üretip eskisini sunuculardan kaldırın.