AWS EC2实例访问最佳实践

我创build了一个AWS EC2实例,并与公司中的多个员工共享.pem (每个用户的普通.pem文件)文件。 他们中的一些人现在辞职了。 我担心他们会再次访问实例,因为他们有.pem文件。 我怎样才能限制呢? 有什么方法可以避免将来出现这类问题? 我在互联网上find了两个解决scheme。

一个是这个 。 但是对于这个解决scheme,有两个问题。 一,我没有一个静态IP。 其次,如果有人想从其他networking访问它,这是不可能的。

第二个解决scheme是这样的 。 这看起来不错。 但我不知道这是最好的解决scheme。

关于如何加强安全的任何想法? 当我探索了一下,我看到了一些像VPN一样的术语,并从用户笔记本电脑本身创buildRSA密钥。 所以用户只能从这台笔记本电脑上访问实例(我对此没有任何清晰的认识)。

谢谢。

在团队中pipe理服务器时,请始终创build特定的用户。 永远不要共享一个密钥或密码。 这就是说,去你的第二个解决scheme:用特定的密码创build特定的用户,并撤销实际的pem密码(这是默认的ec2用户的ssh密码)

您最好的select很可能会撤销对该证书的访问权限并设置个人服务器用户。 您也可以使用防火墙来限制来自特定IP的访问。

我在我的网站上有关于Amazon Linux的SSH / SFTP设置的小教程,您可能会觉得有用。 他们的关键部分是。

防火墙/安全组

在AWS上,您可以使用安全组或networking访问控制列表来指定哪些IP可以连接哪些协议。 您可以进行设置,只有您的公司IP可以通过SSH进行连接。 这是非常快速和容易的事情。 看到这里的说明。

我build议使用安全组,而不是NACL,只是因为我觉得更简单。 你可以使用其中之一或两者。

撤销现有的密钥对

要撤销密钥对( 文档 ,在“为您的实例添加或replace密钥对”下)

  1. 从您的新密钥对中检索公钥。 有关更多信息,请参阅在Linux上检索您的密钥对的公钥或在Windows上检索您的密钥对的公钥。

  2. 使用现有的私钥文件连接到您的实例。

  3. 使用您select的文本编辑器,打开实例上的.ssh / authorized_keys文件。 将新密钥对中的公钥信息粘贴到现有公钥信息下。 保存文件。

  4. 断开与您的实例的连接,并testing您是否可以使用新的私钥文件连接到您的实例。

  5. (可选)如果要replace现有密钥对,请连接到您的实例,并从.ssh / authorized_keys文件中删除原始密钥对的公钥信息。

创build新用户

sudo su sudo useradd fred passwd fred 

创build密钥

 su fred ssh-keygen -f rsa mkdir .ssh touch .ssh/authorized_keys chmod go-w ~/ chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys cat fred.pub >> /home/fred/.ssh/authorized_keys 

允许用户login

 vi /etc/ssh/sshd_config PasswordAuthentication no AllowUsers ec2-user fred