Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I downloaded the pem file on my Windows machine and I am able to connect to my instance with the puttygen generated ppk file (which has a public and a private key in it). I copied the pem file over onto a linux box and tried ssh -i pemfile.pem root@ec2instance.com -v but ssh is asking me for a password. The debug output (-v) is as follows:

debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /home/w/jpgate.pem
debug1: read PEM private key done: type RSA
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: password
root@ec2instance.com's password:

So I suppose I need a public key, right? How do I get the public key on linux? Why does every tutorial tell that I only need to ssh -i key.pem root@instance.com?

share|improve this question
add comment

3 Answers

What kind of AMI / Linux distro are you using?

Maybe logging in as root is not allowed. E. g. for an Amazon Linux AMI you will have to log in as ec2-user (not sure about the dash) and for Ubuntu AMIs it would be the ubuntu user.

share|improve this answer
    
the login user is root. I do the login from Windows with root. It's one of alestics AMIs with the user-data-script feature. I think, the problem is, that the pem file only contains a private key and the ppk contains both, a public and a private key. Login via password doesn't work either –  wullxz Dec 31 '12 at 6:20
add comment
up vote 0 down vote accepted

I just found the solution by myself:
I hadn't yet generated an ssh public key (no id_rsa, id_rsa.pub in ~/.ssh/) so I generated one:
ssh-keygen -t rsa -C "my@mailaddress.de"

Edit:
If it were the wrong username, the debug print would've looked like in this question.

share|improve this answer
add comment

A lot of EC2 information implies the user name is usually or always ec2-user. Not true. It can be root for CentOS, ubuntu for Ubuntu etc. And for whatever reason, the user name is not documented with the AMI! Very irritating. You may have to try different user names.

If you are prompted for a password from SSH, it is clear evidence the provided user name is wrong.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.