"UNPROTECTED PRIVATE KEY FILE!" Error using SSH into Amazon EC2 Instance (AWS)
Solution 1:
The problem is having wrong mod on the file.
Easily solved by executing -
chmod 400 mykey.pem
Taken from Amazon's instructions -
Your key file must not be publicly viewable for SSH to work. Use this command if needed: chmod 400 mykey.pem
400 protects it by making it read only and only for the owner.
Solution 2:
You are likely using the wrong username to login, because—
- Most Ubuntu images have a user
ubuntu
- Amazon's AMI is
ec2-user
- Most Debian images have either
root
oradmin
To login, you need to adjust your ssh
command:
ssh -l USERNAME_HERE -i .ssh/yourkey.pem public-ec2-host
Solution 3:
I know this is very late to the game ... but this always works for me:
step 1
ssh-add ~/.ssh/KEY_PAIR_NAME.pem
step 2, simply ssh in :)
ssh user_name@<instance public dns/ip>
e.g.
ssh [email protected]
hope this helps someone.
Solution 4:
Ok man, the only thing that worked for me was:
-
Change permissions of the key
chmod 400 mykey.pem
-
Make sure to log in using ec2-user, and the correct ec2-99... address. The ec2-99 address is at the bottom of the aws console when you're logged in and seeing your instance listed
ssh -i mykey.pem [email protected]