如何在 1 个 Amazon EC2 实例上管理多个 Linux 用户?

如何在 1 个 Amazon EC2 实例上管理多个 Linux 用户?

在我的组织中,比如说有 5 个人,有时我需要让很多人访问同一个 EC2 实例。5 个用户之间共享私钥和密码绝对不是一个好主意!(而且我不想共享原始 pem/ppk 文件)

那么,我该如何解决这个问题?

请帮忙

答案1

“PACS” Puppet、Ansible、Chef、Saltstack。

我强烈建议使用Ansible因为它有一个内置的用户模块,你可以得到启动并运行超级快!

答案2

大家好,这是我在服务器上执行的步骤

步骤 0. 使用默认用户“ec2-user”登录:

krishna@hostname:~/mykeys$ ssh -i my_key.pem [email protected]

步骤 1. 创建一个新用户,我们将新用户命名为“krishna”

[ec2-user@ip-11-111-111-111 ~]$ sudo adduser krishna

通过以下方式为“krishna”设置密码:

[ec2-user@ip-11-111-111-111 ~]$ sudo su
[root@ip-11-111-111-111 ec2-user]$ passwd krishna

将“krishna”添加到 sudoer 的列表中:如果你想授予 krishna sudo 访问权限

[root@ip-11-111-111-111 ec2-user]$ visudo

并将其添加到最后一行:

krishna ALL = (ALL)    ALL

好的!我们已经创建了新用户,现在您需要生成登录所需的密钥文件,就像我们在步骤 0 中的 my_key.pem 一样。

现在,退出并返回 ec2-user,脱离 root 身份。

第 2 步。创建公钥和私钥:

[ec2-user@ip-11-111-111-111 ~]$ su krishna

输入您在步骤 1 中为“krishna”创建的密码。

[krishna@ip-11-111-111-111 ec2-user]$ cd /home/krishna/
[krishna@ip-11-111-111-111 ~]$ ssh-keygen -b 1024 -f krishna-t dsa
[krishna@ip-11-111-111-111 ~]$ mkdir .ssh
[krishna@ip-11-111-111-111 ~]$ chmod 700 .ssh
[krishna@ip-11-111-111-111 ~]$ cat krishna.pub > .ssh/authorized_keys
[krishna@ip-11-111-111-111 ~]$ chmod 600 .ssh/authorized_keys
[krishna@ip-11-111-111-111 ~]$ sudo chown krishna:ec2-user .ssh

在上面的这个步骤中,krishna是我们创建的用户,ec2-user是默认的用户组。

[krishna@ip-11-111-111-111 ~]$ sudo chown krishna:ec2-user .ssh/authorized_keys

步骤 3.现在您只需要下载名为“krishna”的密钥,我使用 scp 从 EC2 下载/上传文件,具体操作如下:

您仍需要使用 ec2-user 复制文件,因为您只有该用户名的密钥。因此,您需要将密钥移动到 ec2-user 文件夹并将其 chmod 设置为 777。

[krishna@ip-11-111-111-111 ~]$ sudo cp krishna/home/ec2-user/
[krishna@ip-11-111-111-111 ~]$ sudo chmod 777 /home/ec2-user/krishna

现在来到本地机器的终端,其中有 my_key.pem 文件,并执行以下操作:将 krishna 的密钥下载到本地机器,然后将 mod 更改为 600

krishna@hostname:~/mykeys$ sudo chmod 600 krishna

现在是时候远程控制该服务器了

krishna@hostname:~/mykeys$ ssh -i krishna [email protected]

谢谢克里希纳

答案3

您只需在 Linux 上创建多个用户即可(http://www.tecmint.com/add-users-in-linux/)。之后,您可以在 /home/USERNAME/.ssh/authorized_keys 中为每个用户添加一个 SSH 密钥。如果他们需要 root 权限,您可以将他们添加到 sudo 组。如果您需要更具体的权限,您可以实施 LDAP 等解决方案。

答案4

首先为每个用户生成一个公钥/私钥对。(如果他们还没有的话)

然后,您可以将每个用户公钥放入 EC2 实例上的 $HOME/.ssh/authorized_keys 中。

相关内容