我刚刚在 Amazon EC2 上启动了一个 Ubuntu Server AMI。
我连接得很好,但没有看到任何信息告诉我默认登录凭据。
login as: ?
答案1
在 EC2 上,所有 Ubuntu AMI 应像这样连接:
$ ssh -i your-ssh-key.pem [email protected]
因此,您可以使用在启动时注入实例的 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”帐户而不是root帐户连接到Ubuntu实例。
答案2
额外提示:
我更喜欢打字
ssh ubuntu@host
而不是ssh -i your-ssh-key.pem ubuntu@host
。我写了一篇文章来描述如何做到这一点:
将个人 ssh 密钥上传到 Amazon EC2
http://alestic.com/2010/10/ec2-ssh-keys如果您始终使用登录 EC2 主机,
ubuntu
您甚至可以将其设为使用标准 EC2 实例公共主机名时的默认设置。这样您只需输入ssh hostname
。为此,请编辑$HOME/.ssh/config
并添加如下部分:Host *.amazonaws.com User ubuntu
答案3
作为另一种选择,如果您不想使用个人 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
答案4
根用户的脚本nologin
会通过 告诉ssh -i pem.pem root@<private.ip.ec2.instance>
您应使用哪个用户。
在某些 AMI 映像中是这样的ec2-user
。因此 在 ubuntu AMI 映像中是这样的。然后在托管实例中情况又有所不同;EMR 节点有。ssh -i pem.pem [email protected]
ubuntu
hadoop
YMMV 因此请尝试 root 进行检查。