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