我刚刚在此视频中设置了我的EC2服务器 - http://www.youtube.com/watch?v=bBajLxeKqoY
我甚至选择了相同的服务器类型,一切顺利,直到它要求我的EC2服务器的root密码...
有什么建议吗?
答案 0 :(得分:23)
由于活动而更新此答案:
根据系统是ubuntu还是Rhel,用户会有所不同。
对于ubuntu,它是
ssh -i my-pem-file.pem ubuntu@my-ec2-instance-address
对于RHEL,它是
ssh -i my-pem-file.pem root@my-ec2-instance-address
连接到ec2实例不需要密码,只需要一个pem文件 这就是你连接它的方式
ssh -i my-pem-file.pem ec2-user@my-instance-address
并在ssh'ing
之前记住你的pem文件chmod 400
答案 1 :(得分:15)
如果您需要以ec2用户身份执行root操作,请使用sudo su
- 这将使您成为root用户并且不需要密码。你需要的东西,比如查看tomcat日志文件
答案 2 :(得分:12)
我遇到了同样的问题,经过很多努力,我再次阅读了这个页面:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html
请注意,在第4个主题中,它讨论了用户名。它通常为ec2-user
,但如果您使用的是RHEL5发行版,则可以是root
,如果您使用的是Ubuntu ,则用户名将为ubuntu
- 这是我的情况。
所以请尝试那些:
ssh -i my-pem-file.pem ubuntu@my-ec2-instance-address
代表Ubuntu
或
对于RHEL5 ssh -i my-pem-file.pem root@my-ec2-instance-address
希望它有所帮助!
答案 3 :(得分:3)
在sshd_config中启用PasswordAuthentication yes
时,系统会要求您输入密码。尝试将其更改为否。应该解决它。
仅适用于可能遇到同样问题的其他人
答案 4 :(得分:3)
如果您从另一台计算机上移动/复制了pem文件,则该文件的所有者可能与运行ssh客户端的用户不同。要更改文件的所有者:
sudo chown <currentusername> <filename.pem>
答案 5 :(得分:3)
生成密钥时请使用--query 'KeyMaterial'
。
信息:
keyMaterial - 未加密的PEM编码RSA私钥。
答案 6 :(得分:3)
只做
sudo su -
为我工作
答案 7 :(得分:2)
就我而言,我们一直在复制一个文本文件以保持无处不在的密钥。有人在这个文件中意外添加了字符,当我们从未设置过密码时,我们开始从现在已损坏的.pem文件中获取密码。
答案 8 :(得分:1)
这是连接方式:
ssh -i /path/my-key-pair.pem ec2-user@public-ip
现在,它不是ec2-user,而是root,centos或ubuntu,或其他东西。您可以在“使用说明”下查看。如果它不存在,并且您已尝试过以上所有用户,请从AMI附带的文档中找到。
AWS上有一个错误,花费了我很多时间。如果您从“图像&gt; AMI”下的已保存AMI启动实例,请注意它使用从中创建的运行实例的原始密钥。启动AMI时,它会提示您选择一个新密钥,甚至在描述下显示这样的密钥,但事实是这些密钥永远不会工作!
因此,如果您使用自定义/保存的AMI,您必须获取原始密钥并使用它们,或者只是从AWS或市场创建一个全新的密钥。如果您尚未创建AMI或无法记住AMI的来源,请查看详细信息选项卡下的内容。然后,您可以从同一源启动新实例或创建新AMI。然后,这将使用您指定的键。
答案 9 :(得分:0)
检查您的 .pem 文件是否损坏。使用这一行
openssl rsa -check -in test.pem -noout
它应该返回 RSA Key OK。如果没有,那么很可能是您的 pem 文件中的某种格式或某些内容存在问题。
答案 10 :(得分:0)
您应该使用* .pem而不是root密码。登录后,使用passwd
设置密码。
答案 11 :(得分:0)
在我的情况下,问题是文件的中断类型。试试这个:
1.-使用TextWrangler打开.pem文件
2.-在app的底部,验证Break Type是否为&#34; Windows(CRLF)&#34;。
此致
答案 12 :(得分:0)
对我来说,问题是我从现有实例创建了一个AMI,所以当我启动AMI时,即使我选择了一个新密钥,该实例的原始密钥也是有用的。
答案 13 :(得分:0)
chmod 400 pem_file
ssh -i /path_to_the_pem_file ec2-user@ServerIP
或
ssh -i /path_to_the_pem_file ubuntu@ServerIP
AWS AMI默认禁止root访问。
希望它有所帮助。
答案 14 :(得分:0)
如果其他人碰到这个,我的问题的解决方案是我必须用sudo
运行它:
sudo ssh -i my-pem-file.pem root@my-ec2-instance-address
答案 15 :(得分:0)
我在Mac OS系统上使用TurboLinux实例,请尝试以下命令: ssh -i xxxxx.pem root@xxx.xxx.xxx.xxx(已分配VM的公共地址) 我可以不用再问密码了。
答案 16 :(得分:0)
可能是Linux problem。 但也有可能你使用了错误的地址/密钥(你启动了一个新实例,但仍然使用旧地址;或者2个pem具有相似的名称,使用了错误的地址/密钥),"ssh with non-existing user"。