我有一个 Amazon EC2 实例,我需要阻止某个用户的访问。目前,团队(我们是业余爱好者)共享一个用于通过 SFTP 访问服务器的 PEM 密钥。我正在查看 AWS,但实际上并没有找到设置某种受限访问的方法。我是否应该为每个用户创建一个 PEM?如果是,我该如何配置它并使旧的 PEM 失效?
答案1
我有一个 Amazon EC2 实例,我需要阻止用户访问。
好吧,就这个问题而言,它是否是 EC2 实例并不重要。它是一个 Linux 服务器。
现在,团队(我们是业余爱好者)共享一个 PEM 密钥,用于通过 SFTP 访问服务器。
哦,该死的。 :)
不过,说真的。绝对有不您应该使用共享凭证的原因。永远。尤其如果你是新手。让每个团队成员生成他们自己的ssh 密钥对,然后将其公钥部署到服务器。
我是否应该为每个用户创建一个 PEM?如果是这样,我该如何配置它并使旧的 PEM 无效?
是的,确实如此。创建每个用户的密钥对并部署公钥后,只需删除您不再想访问的公钥即可。
答案2
您使用的“PEM”是 Amazon EC2 实例密钥对。您在创建实例时分配该密钥对,以便您可以登录到该实例来管理该框。有一个在启动时运行的脚本,它会下载公钥并将其安装在服务器上(通常以 ec2 用户的身份安装)。您不应该与任何没有明确需要以管理员身份访问该服务器的人共享该密钥对。它应该是安全的,因为它是访问您服务器的最终方式。
我建议您创建一个新的“sftpuser”用户帐户,然后为每个用户将他们的公钥添加到授权密钥文件中。我没有足够的 karma 来为您提供链接。如果您在 Google 上搜索“sshd 无密码登录授权密钥”,您应该会找到分步说明,这不是亚马逊特有的,而是一般 Linux 管理员的。然后,您将要求每个人以“sftpuser”身份登录并使用他们生成的私钥文件。
您也可以为每个团队成员创建一个用户帐户,并将他们全部添加到一个中心组,但是,我需要了解您在服务器上所做的事情才能更全面地回答这个问题。
我还建议现在每个人都可以访问原始 pem 文件,您应该手动将其从服务器中删除并用新的文件替换它。