İçeriğe geç

Başlarken

SSH anahtarı nasıl oluşturulur

Ed25519 anahtar çifti üretmek, açık anahtarı sunucuya kopyalamak ve ssh-agent kullanmak.

2 dk okumaGüncelleme
İçindekiler 5

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:

DosyaAnlamıPaylaşılır mı
id_ed25519Özel anahtarHayır, kimseyle paylaşmayın
id_ed25519.pubAçık anahtarEvet, 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_IP

Komut yoksa elle de yapılabilir. Sunucuda:

mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "AÇIK_ANAHTAR_SATIRI" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

AÇ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_IP

Anahtarla 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_ed25519

macOS'ta ssh-add --apple-use-keychain seçeneği parolayı anahtar zincirinde saklar.

Sık hatalar

  • Permission denied (publickey): açık anahtar authorized_keys içinde yok, izinler yanlış ya da yanlış kullanıcıya konmuş olabilir. ssh -v kullanici@SUNUCU_IP hangi anahtarın denendiğini gösterir.
  • WARNING: UNPROTECTED PRIVATE KEY FILE: özel anahtarın izni geniş. chmod 600 ~/.ssh/id_ed25519 ile 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.

Bu makale genel bilgi verir; sürümler ve dağıtımlar arasında komutlar değişebilir. Üretim sunucusunda uygulamadan önce kendi ortamınızda deneyin.

Bize yazın