问题描述
我刚刚在Amazon EC2上推出了一个Ubuntu Server AMI。
我连接得很好,但我没有看到任何告诉我默认登录凭据的内容。
login as: ?
最佳解决思路
在EC2上,所有Ubuntu AMI都应该像这样连接:
$ ssh -i your-ssh-key.pem ubuntu@external.dns.name
因此,您使用在启动时注入实例的ssh密钥(而不是密码)作为’ubuntu’用户进行连接。经过身份验证后,您可以使用sudo发出password-less根命令。
(注意:你的ssh密钥可能是.priv,或.pem,或者没有扩展名,这只是一个例子)
以下是有关连接EC2实例的一些方便资源:
他们没有提到的是你使用’ubuntu’帐户而不是root连接到Ubuntu实例。
次佳解决思路
额外提示:
我更喜欢键入ssh ubuntu@host而不是ssh -i your-ssh-key.pem ubuntu@host。我写了一篇文章,描述了如何执行此操作:将个人ssh密钥上传到Amazon EC2 http://alestic.com/2010/10/ec2-ssh-keys
如果您始终使用ubuntu登录EC2主机,则甚至可以将其设置为使用标准EC2实例公用主机名时的默认值。这样您就可以输入ssh hostname。要执行此操作,请编辑$HOME/.ssh/config并添加如下部分:
Host *.amazonaws.com
User ubuntu
第三种解决思路
作为进一步的选择,如果您不想使用个人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快速入门指南中的部分,供参考:
参考资料