Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I get the public key of a pem file?

I have a .pem file containing my private key. However, a BitBucket deployment key has this format:

ssh-rsa AAAAB3NzaC3yc2EAAAADAQABAAABAQDfZxX2LXOJlo5MP2tLP4fmQyjIAcATwATFKwM6K3mtT7+LKx1jk6YlFlEcj2CFxJHHTy6LCdDqoVzL3iNcD+mDl7NbcNEHytZNJnFQ5lAHPxDVa9ZbLnmP1OlfUvsQS+jAt7yMSwd8gZ6McOJfp9ZUn+r5LLpjYkF+AMQFPsf+6lhSJaOjOTbsA39OJwlnnSO6HF3W2Om+8Bgdpa/E4En5RZTBwFCAvLaaXY3XgN76xCR24TwTWFicBHWeLdADGFXB7OBOv4y805fNGbNKOl3Yb21mG89aUQlYjobeLqImyIrrEhX36hEdMW/t6zZK/1I0QC//uLa+GjJoeuPW4WY3 ubuntu@Box

It is usually found using:

cat ~/.ssh/id_rsa.pub | pbcopy

How do I extract my public key, in this format, from a .pem file?

like image 482
sdgfsdh Avatar asked Jul 15 '16 17:07

sdgfsdh


People also ask

Where is my PEM private key?

The default “Keychain” tool in the Server app does not allow accessing the generated Private key through the graphic user interface. However, using the command line tools in Terminal, it is possible to navigate to the “/etc/certificates” folder and open the key file, which should be called something like “. key. pem”.


2 Answers

Copy the public key to clipboard.

Linux

ssh-keygen -f private.pem -y | xclip 

MacOS

ssh-keygen -f private.pem -y | pbcopy 

Save to file

ssh-keygen -f private.pem -y > public.pub 

Note that if your permissions are vague on the .pem file, then ssh-keygen will generate an empty .pub file.

You can usually fix this with:

chmod 400 private.pem  
like image 67
JazzCat Avatar answered Sep 21 '22 22:09

JazzCat


JazzCat's answer works. small addition: if your permissions are vague on .pem file, ssh-keygen will generate empty .pub file.

if you see any complains on terminal about private key too open, try to narrow it using chmod 400 private.pem and retry above command.

ps: sorry I don't have permissions to add a comment instead of answer.

like image 28
Lilanga Avatar answered Sep 23 '22 22:09

Lilanga