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?
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”.
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
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With