如何登录ec2机器?

时间:2011-05-07 00:34:23

标签: ssh amazon-ec2

我获得了EC2机器的一些登录信息,基本上是ec2-X-X-X.compute-X.amazonaws.com以及用户名和密码。

如何访问本机?我试过sshing:

ssh username@ec2-X-X-X.compute-X.amazonaws.com

但输入密码时我得到Permission denied, please try again.。 sshing正确的方式来访问EC2机器? (谷歌点击我发现建议您可以插入机器,但他们也使用了密钥对。)或者更有可能的问题是我获得了无效的登录凭据?

4 个答案:

答案 0 :(得分:7)

我们的Amazon AMI称“请以ec2用户身份而非root用户身份登录。”,因此看起来每个图片可能有不同的登录用户,例如

ssh -i ~/.ssh/mykey.pem ec2-user@ec2-NN-NNN-NN-NN.us-foo-N.compute.amazonaws.com

简而言之,尝试root,它会告诉你应该登录哪个用户。

[编辑]我假设您没有该帐户的AWS管理控制台凭据,但如果您这样做,则可以导航到AWS管理控制台的EC2-> Instances面板,右键单击机器名称并选择“连接...”将显示可用于登录的选项列表。您将(或应该)需要一个密钥来通过ssh访问实例。你应该得到这个或者它可能需要生成。

如果是Windows实例,您可能需要使用远程桌面连接来使用IP或主机名进行连接,然后您还需要Windows帐户登录名和密码。

答案 1 :(得分:1)

this video中逐步介绍通过SSH连接到AWS EC2 Linux实例的过程(包括下面提到的几点)。

要通过SSH连接到您的EC2实例来解决此特定问题:

  1. 您运行的ssh命令格式不正确。它应该是:

    ssh -i /path/my-key-pair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com
    
  2. 注意,您需要访问上述命令中使用的私钥(.pem)文件。首次启动实例时,AWS会提示您下载此文件。您需要运行以下命令以确保只有您的root用户具有对它的读访问权:

    chmod 400 /path/to/yourKeyFile.pem
    
  3. 根据您的Linux发行版,运行ssh时需要指定的用户可能是以下之一:

    • 对于Amazon Linux,用户名为ec2-user。
    • 对于RHEL,用户名为ec2-user或root。
    • 对于Ubuntu,用户名是ubuntu或root。
    • 对于Centos,用户名为centos。
    • 对于Fedora,用户名为ec2-user。
    • 对于SUSE,用户名为ec2-user或root。
    • 否则,如果ec2-user和root不能正常工作,请咨询您的AMI提供商。
  4. 您需要启用入站SSH防火墙。这可以在AWS的“安全组”部分下完成。有关此作品的完整详细信息,请参见here

答案 2 :(得分:0)

事实上,EC2(Amazon Elastic Compute Cloud)默认情况下不允许对其实例(Linux机器)进行密码验证。

唯一允许的身份验证方法是使用在创建实例时创建的SSH密钥。在创建过程中,它们允许您只下载一次SSH密钥,因此如果您松开它,则必须重新生成它。

此SSH密钥仅适用于主要用户 - 通常名为

  • " ec2-user" (Amazon Linux,Red Hat Linux,SUSE Linux)
  • " root" (Red Hat Linux,SUSE Linux)
  • " ubuntu" (Ubuntu Linux发行版)
  • " fedora" (Fedora Linux发行版)

或类似(取决于分布)

请参阅连接说明:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstances.html

如果要添加新用户,建议的方法是为新用户生成并添加新的SSH密钥,但不指定密码(由于默认情况下未启用密码身份验证,因此无论如何都无用)。 / p>

管理其他用户:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/managing-users.html

毕竟,如果您想启用密码身份验证,这会降低安全性并且不建议使用,但您仍可能出于特定原因需要执行此操作,那么只需编辑

/etc/ssh/sshd_config

例如:     sudo vim / etc / ssh / sshd_config

找到说:

的行
PasswordAuthentication no

并将其更改为

PasswordAuthentication yes

然后重启实例

sudo restart 

重新启动后,您可以使用密码身份验证创建其他用户。

sudo useradd newuser
sudo passwd newuser

将新用户添加到sudoers列表中:

sudo usermod -a -G sudo newuser

确保用户主文件夹存在并由用户拥有

sudo mkdir /home/newuser
sudo chown newuser:newuser /home/newuser

新的,您已准备好尝试通过ssh使用newuser登录。 使用ssh密钥进行身份验证将继续与密码身份验证同时工作。

答案 3 :(得分:0)

为此,您需要拥有一个私钥,就像keyname.pem。

使用ctrl + alt + t打开终端。

使用命令chmod 400 keyname.pem或chmod 600 keyname.pem将文件权限更改为400或600

打开安全组中的端口22。

在终端ssh -i keyname.pem username@ec2-X-X-X.compute-X.amazonaws.com上触发命令