How to use PEM keys from EC2
I understand the concept of "ssh keys" to login to a server without entering a password, however, I am not understanding how/what PEM key files are to log in to EC2 instances.
In the AWS console, I can generate or import a PEM key, but where/how do I use this file on my laptop to login to cloud instances?
Thanks for help!
Solution 1:
Or you can create an entry on your .ssh/config as follows:
host myserver
hostname ec2-xx-xx-xx-xx.eu-west-1.compute.amazonaws.com
user username
IdentityFile path/to/your.pem
So after that you can ssh to your server like this: ssh myserver
According to PEM files, it's also good keep a copy in a safe place as it can not be regenerated.
Solution 2:
The other answers here are great, assuming that the destination server already has the .pem
file's public key. In my case, I created a .pem
file to access an existing server, which was not configured for my newly generate key. So here is how I managed to set up my server for access using my newly created .pem
key:
Create the public key from the .pem
file: ssh-keygen -y -f my-new-key.pem > my-new-key.pub
Transfer the key to my server: scp -i ~/.ssh/my-old-key.pem /path/to/my-new-key.pub [email protected]:~/.ssh/
SSH into the server and attached the pem file as follows: ssh -i ~/.ssh/my-old.key.pem [email protected]
and run cat ~/.ssh/my-new-key.pub >> ~/.ssh/authorized_keys
Now, you can ssh into your server using your newly generated .pem
key! ie ssh -i ~/.ssh/my-new-key.pem [email protected]
.
Solution 3:
from command line, just like this:
$ ssh [email protected] -i yourpemfile.pem
Then you can login to the server.