How do I get the public key of a pem file?
SshCryptographyBitbucketPrivate KeyPemSsh Problem Overview
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?
Ssh Solutions
Solution 1 - Ssh
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
Solution 2 - Ssh
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.