SSH açık anahtarı nedir?

SSH açık anahtarı, SSH (Secure Shell) protokolü üzerinden güvenli kimlik doğrulama için kullanılan bir kriptografik anahtar çiftinin yarısıdır. Bir SSH anahtar çifti oluşturduğunuzda, bir özel anahtar (makinenizde gizli tutulan) ve bir açık anahtar (erişmek istediğiniz sunucularla paylaşılan) elde edersiniz. Sunucu, kimliğinizi doğrulamak için açık anahtarınızı kullanır ve bu süreçte parola iletilmez.

SSH açık anahtarları, OpenSSH formatında tek satırlık metin olarak saklanır ve üç bölüm içerir: anahtar türü (ssh-rsa veya ssh-ed25519 gibi), Base64 ile kodlanmış anahtar verisi ve isteğe bağlı bir yorum (genellikle user@hostname). Base64 verisinin içinde algoritma parametreleri ve gerçek kriptografik materyal dahil yapılandırılmış ikili bilgiler bulunur.

Parmak izleri, anahtar verisinin kısa ve insan tarafından okunabilir hash'leridir. Tam Base64 dizesini okumadan anahtarları doğrulamayı ve karşılaştırmayı kolaylaştırır. En yaygın iki parmak izi formatı SHA-256 (modern varsayılan) ve MD5'tir (iki nokta üst üste ile ayrılmış hex çiftlerinden oluşan eski format).

Araç açıklaması

Bu araç, OpenSSH formatındaki SSH açık anahtarlarını ayrıştırır ve tüm önemli meta verileri çıkarır. Açık anahtarınızı yapıştırın ve anında anahtar türünü, algoritmayı, bit cinsinden anahtar boyutunu, yorumu ve hem SHA-256 hem de MD5 parmak izlerini görün — ssh-keygen -l komutundan alacağınız çıktıyla birebir eşleşir.

Örnekler

Girdi:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl user@laptop

Çıktı:

Alan Değer
Anahtar türü ssh-ed25519
Algoritma Ed25519
Anahtar boyutu 256 bit
Yorum user@laptop
Parmak izi SHA-256 SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8
Parmak izi MD5 MD5:16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48

Özellikler

  • RSA, Ed25519, ECDSA (P-256, P-384, P-521), DSA ve Security Key (FIDO) anahtar türlerini destekler
  • Standart OpenSSH formatında SHA-256 ve MD5 parmak izlerini hesaplar
  • Anahtar boyutunu doğrudan ikili anahtar verisinden bit cinsinden çıkarır
  • Base64 bütünlüğü ve gömülü tür tutarlılığı dahil anahtar yapısını doğrular
  • Açık anahtar satırındaki isteğe bağlı yorum alanını ayrıştırır

Nasıl çalışır

Araç, girdiyi üç parçaya böler: anahtar türü, Base64 verisi ve yorum. Ardından Base64 verisini ikili formata çözer ve SSH'ın uzunluk önekli formatını kullanarak iç yapıyı okur; bu formatta her alan, 4 baytlık big-endian uzunluğuyla başlar ve ardından alan verisi gelir. Anahtar boyutu, algoritmaya özgü parametrelerden belirlenir — RSA için modülüs n'nin bit uzunluğu, DSA için asal sayı p ve eliptik eğri anahtarları için eğri adından türetilir. Parmak izleri, ham ikili anahtar verisi SHA-256 ve MD5 ile hash'lenerek hesaplanır.

Desteklenen anahtar türleri

Tür tanımlayıcısı Algoritma
ssh-rsa RSA
ssh-ed25519 Ed25519
ecdsa-sha2-nistp256 ECDSA (P-256)
ecdsa-sha2-nistp384 ECDSA (P-384)
ecdsa-sha2-nistp521 ECDSA (P-521)
ssh-dss DSA
sk-ssh-ed25519@openssh.com Ed25519-SK (Security Key)
sk-ecdsa-sha2-nistp256@openssh.com ECDSA-SK (Security Key)

Kullanım senaryoları

  • Anahtar parmak izlerini doğrulama — Bir açık anahtarı authorized_keys dosyasına veya bir Git barındırma hizmetine eklemeden önce beklenen parmak iziyle eşleştiğini onaylayın
  • Sunucu erişimini denetleme — Zayıf veya güncel olmayan anahtarları tespit etmek için authorized_keys dosyanızdaki anahtarların algoritmasını ve anahtar boyutunu hızlıca belirleyin
  • SSH sorunlarını giderme — Bir anahtarın doğru formatta olup olmadığını, beklenen algoritmayı kullanıp kullanmadığını ve geçerli bir yapıya sahip olup olmadığını kontrol edin

SSS

SSH açık anahtarımı nerede bulabilirim? Çoğu sistemde ~/.ssh/id_ed25519.pub, ~/.ssh/id_rsa.pub veya algoritmaya bağlı olarak benzer bir yolda saklanır. Ayrıca SSH agent'ınıza yüklenmiş anahtarları listelemek için ssh-add -L komutunu çalıştırabilirsiniz.

Açık anahtarımı paylaşmak güvenli midir? Evet. Açık anahtar, paylaşılmak üzere tasarlanmıştır. Özel anahtarı türetmek veya sizin adınıza kimlik doğrulamak için kullanılamaz.

SHA-256 ve MD5 parmak izleri neden farklı görünür? SHA-256 parmak izleri Base64 ile kodlanır ve SHA256: önekiyle başlar; MD5 parmak izleri ise MD5: önekiyle başlayan iki nokta üst üste ile ayrılmış onaltılık çiftler kullanır. SHA-256, modern OpenSSH sürümlerinde varsayılan formattır.