使用非 root 用户登录 AWS 实例

使用非 root 用户登录 AWS 实例

从 EC2 文档看来,必须使用与 AMI 关联的特定用户 ID 登录:

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html

使用 ssh 命令连接到实例。您将指定私钥 (.pem) 文件和 user_name@public_dns_name。对于 Amazon Linux,用户名是 ec2-user。对于 RHEL5,用户名是 root 或 ec2-user。对于 Ubuntu,用户名是 ubuntu。对于 Fedora,用户名是 fedora 或 ec2-user。对于 SUSE Linux,用户名是 root。否则,如果 ec2-user 和 root 不起作用,请咨询您的 AMI 提供商。

ssh -i my-key-pair.pem [email protected]

现在我尝试使用另一个用户登录 - 该用户是通过添加用户

adduser changsha

该用户在系统上工作:

root@ip-10-151-25-94 ~]$ su - changsha
[changsha@ip-10-151-25-94 ~]$

但是,显然无法使用该 ID 登录 AWS 实例。注意:没有返回“输入密码”。它直接就失败了。

13:36:28/sparkup2 $ssh -i ~/.ssh/hwspark14.pem [email protected]
Permission denied (publickey).

目前唯一可行的方法是使用 root 登录!那么,我们如何管理集群上的多个用户?

更新大卫的回答有效:这里有一些额外的信息

https://forums.aws.amazon.com/message.jspa?messageID=138588

You should find an authorized_keys file (I'm using Ubuntu 12.04, this might change with other distros, I guess).
Let's check what it is:
$ cat ~/.ssh/authorized_keys
Outuput:
ssh-rsa SAGsg43 (....) sd53ySGS aws_machines

And that is the corresponding public key.

答案1

您需要.ssh在新用户的主目录下创建一个目录并将您的公钥复制到那里。确保您还为该authorized_keys文件设置了适当的权限。详细说明可以在这里找到这里

相关内容