我需要通过SSH访问运行Ubuntu 10.4的Amazon EC2实例。我所拥有的只是Amazon用户名和密码。有任何想法吗?
Answers:
基本上,您需要一个私钥文件才能通过SSH登录到EC2。请按照以下步骤创建一个:
ssh -i /path/to/private-key root@<ec2-public-dns-address>
-根据您的发行版选择ec2-user
或ubuntu
作为用户名,在最新版本中避免使用root用户名。ubuntu
login而不是root
。显然我有ubuntu服务器12.04实例。
ec2-user
或也许是ubuntu
,但不是root
。
ssh -i /path/to/private-key ubuntu@<ec2-public-dns-address>
只需使用ubuntu
代替root
。您的问题将得到解决。干杯!
步骤1)下载分配给您ec2机器的私钥 (创建后仅下载一次,因此建议在某处提交)
步骤2)并执行以下命令,
chmod 400 MyKeyPair.pem
ssh -i MyKeyPair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com
您需要首先创建一个密钥对-使用EC2控制台进行操作。然后使用您的私钥ec2-user
通过您选择的SSH客户端SSH到服务器(用户名为)中。
进入后,您可以根据需要发出a sudo su -
以获得根(注意:您不能直接以root身份登录)。
如果您使用的是MacOS,则应创建/编辑SSH配置文件(〜/ .ssh / config)并输入以下内容:
Host *.amazonaws.com
User ubuntu
Port 22
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
IdentityFile ~/PATH/YOUR_DOWNLOADED_KEY.pem
然后连接到任何EC2实例:
ssh MYNAME.amazonaws.com
而已!
要在AWS上设置Ubuntu,请按照以下步骤操作:
要通过SSH访问实例,请运行:
通过指定您的PEM文件连接到Linux框,例如
ssh -i "file.pem" ubuntu@x.x.x.x
确保您的PEM文件具有600权限(chmod 600 file.pem
)。
如果你正在运行VPC实例,您的安全组是正确的(用正确的规则),它仍然没有工作,VPC部分检查你的子网应连接到您的VPC(包括使用您的实例)和设置路由表中的新规则以“ 目标”0.0.0.0/0
为目标,您的Internet网关为“ 目标”。
有关更多详细信息,请检查:对实例进行故障排除连接
另请参阅:尝试访问EC2实例时超时的可能原因
可能没有以OS Distro的正确用户身份登录。对于某些新的AMI,用户名可能不是“ ubuntu”,而是“ ec2-user”。例如,对于Amazon Linux,我相信用户是“ ec2-user”。埃里克·哈蒙德(Eric Hammond)在此处提供了示例:http : //alestic.com/2014/01/ec2-ssh-username
我的建议,请尝试:
ssh -i /path/to/file.pem ec2-user@ec2...
ssh -i /path/to/file.pem ubuntu@ec2...
ssh -i /path/to/file.pem root@ec2...
如果您使用了错误的AMI,则可能只想完全重新启动计算机,以使群集之间具有统一性。如果这是您的问题,那么您可能至少要为Linux机器使用相同的OS Distro。
确保检查这些东西
私钥必须具有400个许可
确保您要访问的AWS实例的端口22已打开。
ssh -i privatekey.pem ubuntu@XXX.XXX.XXX.XXX
// XXX.XXX.XXX.XXX =您的实例公共IP