Następujące polecenie generuje plik zawierający zarówno klucz publiczny, jak i prywatny:
openssl genrsa -des3 -out privkey.pem 2048
Źródło: tutaj
W przypadku OpenSSL klucz prywatny zawiera również informacje o kluczu publicznym, więc klucz publiczny nie musi być generowany osobno
Jak możemy wyodrębnić klucz publiczny z pliku privkey.pem?
Dzięki.
Odpowiedzi:
To zapisuje klucz publiczny do
key.pub
źródło
-out
na przykład:openssl rsa -in privkey.pem -pubout -out key.pub
zamiast przekierowywać standardowe wyjście do pliku.Chociaż powyższa technika działa w ogólnym przypadku, nie działała na plikach PEM Amazon Web Services (AWS).
Znalazłem w dokumentach AWS następujące polecenie:
ssh-keygen -y
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html
edytuj Thanks @makenova za całą linię:
źródło
ssh-keygen -y -f key.pem > key.pub
ssh-keygen -y -f key.pem
key.pem
, który mógłby uniemożliwić rejestrowanie w sytuacjach, które wymagają tego klucza!ssh -i
, upewnij się, że łączysz się z kluczem prywatnym, a nie publicznymDla zainteresowanych szczegółami - możesz zobaczyć, co znajduje się w pliku klucza publicznego (wygenerowanym jak wyjaśniono powyżej), wykonując następujące czynności: -
lub dla pliku klucza prywatnego: -
który wyświetla jako tekst na konsoli rzeczywiste składniki klucza (moduł, wykładniki, liczby pierwsze, ...)
źródło
Jeśli szukasz sposobu skopiowania
.pem
pary kluczy Amazon AWS do innego regionu, wykonaj następujące czynności:Następnie
źródło
openssl
jest umieszczone w nagłówkach PEM, które należy usunąć, zanim interfejs wiersza poleceń AWS zaakceptuje klucz.W przypadku AWS importującego istniejący klucz publiczny,
Eksportuj z .pem, robiąc to ... (w systemie Linux)
Spowoduje to utworzenie pliku, który po otwarciu w edytorze tekstu wyglądającym mniej więcej tak ...
Jednak AWS NIE zaakceptuje tego pliku.
Musisz zdjąć
-----BEGIN PUBLIC KEY-----
iz-----END PUBLIC KEY-----
pliku. Zapisz go i zaimportuj, a powinien działać w AWS.źródło
ssh-rsa AAAAB3NzaC1y....
uruchomienia:ssh-keygen -f PublicKey.pub -i -mPKCS8