Amazon AMI镜像的Ubuntu Server的默认用户名是什么?

我刚刚在亚马逊EC2上启动了一个Ubuntu服务器AMI。
我成功连接上了,但是我没有看到任何关于默认登录凭据的信息。
login as: ?
5个回答

在EC2上,所有的Ubuntu AMI都应该像这样连接: $ ssh -i your-ssh-key.pem ubuntu@external.dns.name 所以你使用在实例启动时注入的ssh密钥作为'ubuntu'用户进行连接(不是密码)。一旦验证成功,你可以使用sudo发出无需密码的root命令。
(注意:你的ssh密钥可能是.priv、.pem或没有扩展名,这只是一个示例)
以下还有一些关于连接到EC2实例的有用资源:
启动实例并选择或创建新的SSH密钥对:http://docs.amazonwebservices.com/AWSEC2/latest/GettingStartedGuide/index.html?LaunchInstance.html 使用你的SSH密钥对进行连接: http://docs.amazonwebservices.com/AWSEC2/latest/GettingStartedGuide/index.html?ConnectToInstanceLinux.html 他们在那里没有提到的是,你连接到Ubuntu实例时使用的是'ubuntu'账户而不是root账户。

如何确定“external.dns.name”? 我尝试了公共DNS,按照您写的文字等方法,但都没有成功。 - David Parks
我正在使用PuTTY进行连接,我已经成功连接到其他Linux实例,但是每次尝试以ubuntu或ubuntu@任何我能想到的方式登录都失败了,显然我漏掉了一些细节。 - David Parks
是的。当您查看实例属性时,应该使用“公共 DNS”作为主机名。 - Mark Russell
在PuTTY中,ubuntu是用户名,没有密码,而"Public DNS"是要连接的主机。显然,你需要转换从Amazon获取的.pem文件,当你创建密钥对时。关于此的详细信息在我发布的第二个AWS文档中。 - Mark Russell
1现在我明白了,只要使用'ubuntu'用户和密钥,正确操作时它就能像你说的那样正常工作。非常感谢你的帮助! - David Parks
并不总是Ubuntu。当您使用“社区AMI”时,它可能是任何东西。我使用了Bitnami的一个,最终发现它是“Bitnami”,当您尝试以“root”身份登录时,它会告诉您。这些事情并不像它们应该那样明显清晰! - Octopus
除了Ubuntu系统之外,其他系统的默认用户名是ec2-user。例如CentOS。 - Mayank Jaiswal

额外小费:
  1. 我更喜欢输入 ssh ubuntu@host 而不是 ssh -i your-ssh-key.pem ubuntu@host
  2. 我写了一篇文章,描述了如何做到这一点:

    将个人 SSH 密钥上传到 Amazon EC2
    http://alestic.com/2010/10/ec2-ssh-keys

  3. 如果您总是使用 ubuntu 登录 EC2 主机,甚至可以将其设置为在使用标准 EC2 实例的公共主机名时的默认值。这样,您只需输入 ssh hostname。要做到这一点,请编辑 $HOME/.ssh/config 并添加以下部分:
  4. Host *.amazonaws.com
      User ubuntu
    

好的!谢谢,Eric。我一直都是按照自己的方式生活的。看来我应该回去再仔细阅读你的博客了。太棒了! - Mark Russell

作为另一种选择,如果您不想使用个人的SSH密钥(尽管这可能是最好的解决方案),但希望简化命令行操作,您可以将您的密钥添加到~/.ssh/并在~/.ssh/config中添加以下内容:
Host ec2-xxx-xxx-xxx-xxx.xxxx.compute.amazonaws.com
 User ubuntu
 IdentityFile ~/.ssh/yourkey.pem

然后你可以简单地使用ssh ec2-xxx-xxx-xxx-xxx.xxxx.compute.amazonaws.com 如果您的EC2已注册到域名,则还可以使用以下方法:
Host yourdomain.com
 User ubuntu
 IdentityFile ~/.ssh/yourkey.pem

然后你可以使用ssh yourdomain.com 最后,为了简化操作而不使用域名,可以使用以下别名:
Host myalias
 HostName ec2-xxx-xxx-xxx-xxx.xxxx.compute.amazonaws.com
 User ubuntu
 IdentityFile ~/.ssh/yourkey.pem

然后您可以使用ssh myalias

对于由Bitnami创建的社区AMI,用户名是'bitnami'。
以下是Bitnami快速入门指南中的相关部分: 如何登录BitNami虚拟机

原文中没有提到Bitnami... - belacqua
2有很多可用的“Amazon AMI”,可以运行Ubuntu服务器。它们并非都设置为“ubuntu”用户。我自己也遇到了这个问题。上面的答案并不适用于我选择的“Amazon AMI”,那是一个即插即用的Plone部署。我确信还会有许多其他社区AMI的登录方式不明显。事实上,我本可以提出同样的问题,并且与原帖中完全相同的措辞。 - Octopus
由于该问题来自2011年并且有一个被接受的答案,我觉得“许多其他社区AMI”不太可能在范围之内。这几乎可以肯定是基于“官方”的Ubuntu镜像。如果它是非Canonical镜像,那么问题应该被澄清。 - belacqua
2我在2014年谷歌搜索过,它排名靠前。我花了很长时间找到正确答案,这个网站就是为了回答问题而存在。下一个寻找的人会找到它。它仍然相关。我在尽力保持网站的更新,并让用户得到信息。不客气。 - Octopus
在我看来,这应该是一个新的问题和答案。看起来很合理;我肯定会点赞的。 - belacqua

在根用户上的nologin脚本会告诉你(通过ssh -i pem.pem root@<private.ip.ec2.instance>),你应该使用哪个用户。
在某些AMI镜像中,这个用户是ec2-user。所以使用ssh -i pem.pem ec2-user@private.ip.ec2.instance。 在Ubuntu AMI镜像中,这个用户是ubuntu。 然后,在托管实例中又不同了;EMR节点使用hadoop
因此,可能会有所不同,请尝试使用root进行检查。