在我的组织中,比如说有 5 个人,有时我需要让很多人访问同一个 EC2 实例。5 个用户之间共享私钥和密码绝对不是一个好主意!(而且我不想共享原始 pem/ppk 文件)
那么,我该如何解决这个问题?
请帮忙
答案1
答案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 中。