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

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.