W jaki sposób format .pub ssh-keygen działa z plikami .pem?

17

ssh-keygenKomenda generuje .pubpliki, które określa jako „plików kluczy publicznych”, ale są one zupełnie inny format plików do większości kluczowych „publicznych” Ja zazwyczaj postrzegane, które są w formacie PEM. W ssh-keygen-Style pliki wyglądać następująco:

ssh-rsa AAAAB3NzaC1... user@host

... podczas gdy pliki PEM wyglądają tak:

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

Czy te dwa formaty są wymienne, czy też mają zupełnie inny cel? Natknąłem się na ten problem, ponieważ chciałem uzyskać odcisk palca klucza RSA2 mojego pliku klucza publicznego zakodowanego w PEM, ale metoda zwykle sugeruje, aby to zrobić ( ssh-keygen -l) mówi, że mój plik zakodowany w PEM „nie jest plikiem klucza publicznego”.

Nawiasem mówiąc, znam tę odpowiedź , ale nie obejmuje ona plików .pub wygenerowanych przez ssh-keygen.

Jez
źródło
1
Cóż, klucz publiczny SSH to nie to samo, co certyfikat w formacie PEM. Patrzyłeś na to? serverfault.com/questions/114301
cjc 28.12.12
2
Ważne jest, aby zwrócić szczególną uwagę na to, że prawdopodobnie patrzysz na OpenSSH, a nie na mniej popularne SSH.COM lub inne implementacje. Standardowy klucz publiczny zakodowany przez PEM jest w rzeczywistości ważny dla niektórych mniej powszechnych implementacji. Wiem, że pole VMS, z którym się łączę, wymaga pliku PEM.
Zoredache
@cjc, racja, to nie jest certyfikat, ale nie jest to nawet to samo, co dostajesz, uruchamiając openssl rsa -in privatekey_rsa -pubout, który w rzeczywistości jest kluczem publicznym, a nie certyfikatem.
Zoredache

Odpowiedzi:

8

Pary kluczy OpenSSH nie są PEM ani żadnym innym standardem x500. Nowe wersje OpenSSH mogą używać kluczy PEM X.509, ale to kolejna kula wosku oddzielna od ssh-keygen i musi być skonfigurowana jawnie. Jak najlepiej wiem, żadna poważna implementacja SSH nie używa dokładnie takich samych formatów kluczy jak inne.

Jak zauważa Zoredache , jeśli używasz czegoś innego niż OpenSSH (deus iuvo vos), to może być cholernie blisko wszystkiego.

Chris S.
źródło
1
Tak, rzeczywiście pomyliłem SSH i SSL! Mój demon OpenSSH faktycznie używał .pubpliku na moim serwerze /etc/ssh/ssh_host_rsa_key.pubi nie używał żadnej architektury urzędu certyfikacji SSL. Kiedy uruchomiłem ssh-keygen -lten plik, dał mi odcisk palca klucza RSA2 serwera.
Jez