Ssh-keygen .pub biçimi .pem dosyalarıyla nasıl çalışır?


17

ssh-keygenKomut üretir .pubo "ortak anahtar dosyaları" olarak tanımladığı dosyaları, ancak PEM biçiminde Ben genellikle gördüğüm en "açık anahtar dosyaları" na tamamen farklı biçimidir. ssh-keygenTarzı dosyalar şuna benzer:

ssh-rsa AAAAB3NzaC1... user@host

... oysa PEM dosyaları şöyle görünür:

-----BEGIN CERTIFICATE-----
MIIGZjCCBU6gAwIBAgIDCIrNMA0GCSqGSIb3DQEBBQUAMIGMMQsw...
-----END CERTIFICATE-----

Bu iki biçim birbirinin yerine kullanılabilir mi yoksa temelde farklı bir amaç mı gösteriyorlar? Bu sorunla karşılaştım çünkü PEM kodlu ortak anahtar dosyamın RSA2 anahtar parmak izini almak istedim, ancak genellikle yapılması önerilen yöntem ( ssh-keygen -l) PEM kodlu dosyamın "ortak anahtar dosyası değil" olduğunu söylüyor.

Bu arada, bu cevabın farkındayım , ancak tarafından oluşturulan .pub dosyalarını kapsamıyor ssh-keygen.


1
Bir SSH genel anahtarı PEM biçimindeki bir sertifika ile aynı değildir. Buna baktın mı? serverfault.com/questions/114301/…
cjc

2
Burada özel olmak önemlidir, muhtemelen daha az yaygın olan SSH.COM veya diğer uygulamalara değil, OpenSSH'ye bakıyorsunuzdur. Standart PEM kodlu genel anahtar, bazı daha az yaygın uygulamalar için geçerlidir. Bağlandığım bir VMS kutusu PEM dosyası gerektirdiğini biliyorum.
Zoredache

@cjc, Doğru, bir sertifika değil, aynı zamanda çalıştırarak elde ettiğinizle bile aynı değil openssl rsa -in privatekey_rsa -pubout, aslında bir ortak anahtar ve bir sertifika değil.
Zoredache

Yanıtlar:


8

OpenSSH anahtar çiftleri PEM veya başka bir x500 standardı değildir. OpenSSH'nin yeni sürümleri X.509 PEM anahtarlarını kullanabilir, ancak bu ssh-keygen'den ayrı bir başka balmumu topu ve açıkça yapılandırılmalıdır. En iyi bildiğim kadarıyla, SSH'nin hiçbir büyük uygulaması diğer anahtarlarla aynı anahtar formatlarını kullanmaz.

As Zoredache notları Eğer OpenSSH dışında bir şey (deus iuvo vos) kullanıyorsanız, o zaman lanetlemek yakın bir şey olabilir.


1
Evet, aslında SSH ve SSL'yi karıştırdım! OpenSSH arka plan programım aslında .pubsunucumda bir dosya /etc/ssh/ssh_host_rsa_key.pubkullanıyordu ve SSL sertifika yetkilisi mimarisinin hiçbirini kullanmıyordu. Bu ssh-keygen -ldosyayı çalıştırdığımda sunucunun RSA2 anahtar parmak izini verdi.
Jez
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.