SSH anahtar çifti nedir?

SSH anahtar çifti, bir kullanıcıyı uzak bir sunucuya parola olmadan kimlik doğrulaması yapmak için kullanılan iki şifreleme anahtarından oluşan bir settir. Çift, kullanıcının makinesinde gizli tutulan özel anahtar ve uzak sunucuya yerleştirilen genel anahtartan oluşur. Bağlanırken, sunucu istemciyi özel anahtarın sahibi olduğunu kanıtlamaya çağırır — özel anahtar hiçbir zaman iletilmez. Bu asimetrik yaklaşım, parola tabanlı kimlik doğrulamadan önemli ölçüde daha güvenlidir çünkü ele geçirilebilecek veya kaba kuvvet saldırısına uğrayabilecek paylaşılan bir gizli yoktur.

SSH anahtar çiftleri, açık anahtar şifrelemesi algoritmaları kullanılarak oluşturulur. En yaygın kullanılanlar, küçük anahtar boyutu ve yüksek güvenliği ile bilinen modern bir eliptik eğri algoritması olan Ed25519 ve büyük tam sayıları çarpanlarına ayırmanın zorluğuna dayanan, zaman içinde kanıtlanmış bir algoritma olan RSA'dır. Ed25519, üstün performansı ve yan kanal saldırılarına karşı direnci nedeniyle yeni anahtarlar için önerilir.

Araç açıklaması

SSH Anahtar Çifti Oluşturucu, Web Crypto API'sini kullanarak şifreli olarak güvenli Ed25519 veya RSA SSH anahtar çiftlerini doğrudan tarayıcınızda oluşturur. Hiçbir veri sunucuya gönderilmez — tüm anahtar malzemesi cihazınızda yerel olarak oluşturulur. İsteğe bağlı olarak anahtarı daha sonra tanımlamaya yardımcı olmak için bir yorum (tipik olarak user@hostname) ekleyebilirsiniz. Oluşturulan genel ve özel anahtarlar panoya kopyalanabilir veya ssh-copy-id veya herhangi bir SSH istemcisiyle kullanılmaya hazır dosyalar olarak indirilebilir.

Örnekler

Ed25519 genel anahtarı

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl user@hostname

RSA genel anahtarı (4096-bit)

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC2... user@hostname

Özel anahtar (OpenSSH formatı)

-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAAB...
-----END OPENSSH PRIVATE KEY-----

Özellikler

  • Ed25519 ve RSA desteği: Modern bir eliptik eğri algoritması veya klasik RSA algoritması arasında seçim yapın
  • RSA anahtar boyutu seçenekleri: Güvenlik ve performansı dengelemek için 2048, 3072 veya 4096-bit RSA anahtarları seçin
  • İsteğe bağlı yorum alanı: Anahtarı makineler arasında tanımlamaya yardımcı olmak için user@hostname stilinde bir yorum ekleyin
  • İstemci tarafı oluşturma: Anahtarlar tamamen tarayıcınızda Web Crypto API'sini kullanarak oluşturulur — hiçbir şey iletilmez veya depolanmaz
  • Tek tıklamayla indirme: Genel ve özel anahtar dosyalarını doğru dosya adlarıyla (id_ed25519, id_ed25519.pub, id_rsa, id_rsa.pub) doğrudan kaydedin

Kullanım durumları

  • Sunucu erişim kurulumu: Bir anahtar çifti oluşturun ve genel anahtarı ~/.ssh/authorized_keys aracılığıyla herhangi bir sayıda uzak Linux/Unix sunucusuna dağıtarak parola gerektirmeyen SSH girişini etkinleştirin
  • Git barındırma kimlik doğrulaması: Genel anahtarı GitHub, GitLab veya Bitbucket'a ekleyerek her seferinde kimlik bilgisi girmeden git push ve git pull işlemlerinin kimliğini doğrulayın
  • CI/CD ardışık düzenleri: SSH erişimi gereken sunuculara veya özel depolara ihtiyaç duyan otomatik komut dosyaları veya derleme aracıları için adanmış bir dağıtım anahtar çifti oluşturun

Nasıl çalışır

Anahtar oluşturma, tarayıcının yerleşik crypto.subtle API'sini (Web Crypto) kullanır. Ed25519 için, ham 32 baytlık özel skaler ve 32 baytlık genel anahtar OpenSSH tel formatına (openssh-key-v1) paketlenir. RSA için, anahtar PKCS#8 DER formatında dışa aktarılır ve standart bir PEM zarfına sarılır. Genel anahtar blobu SSH tel formatında (uzunluk ön eki olan algoritma adı ve ardından anahtar malzemesi) kodlanır ve Base64 ile kodlanır, OpenSSH'nin authorized_keys dosyası tarafından beklenen formatla eşleşir.

İpuçları

  • İndirdikten sonra, özel anahtar dosyasında doğru izinleri ayarlayın: chmod 600 ~/.ssh/id_ed25519. SSH, diğer kullanıcılar tarafından okunabilir bir özel anahtarı kullanmayı reddedecektir.
  • Eski sistemlerle uyumluluğa ihtiyacınız olmadıkça Ed25519'u kullanın. Daha kısa anahtarlar üretir ve RSA'dan daha hızlıdır.
  • Yorum alanı anahtarın şifreleme gücünü etkilemez — tamamen insan tanımlaması içindir ve daha sonra ssh-keygen -c ile değiştirilebilir.
  • Eski sunucularla maksimum RSA uyumluluğu için 4096-bit anahtarları kullanın. Modern sunucular için, RSA anahtar boyutundan bağımsız olarak Ed25519 tercih edilir.