如何在AWS中替换.pem文件

时间:2019-02-25 10:58:33

标签: amazon-web-services amazon-ec2 ssh active-directory ldap

情况:所以基本上我有Ec2实例并登录到Ec2实例,首先我将登录到跳转服务器,然后使用私有ip登录到我的实例,并且我所有的pem文件都存储在跳转服务器内部和私有中实例(EC2实例)。

我已经完成的工作:我已经使用“ PasswordAuthentication No”编辑了sshd-config文件,并将其更改为PasswordAuthentication Yes,并创建了“ xyz123”之类的密码,现在我可以使用登录到计算机了,

ssh ubuntu @ ipadrrs和psswd:xyz123

但这不提供我的未清项目。

我要寻找的东西:实际上我曾经与团队成员共享.pem文件来访问实例,如果我启用了ip的密码,他们仍然可以使用用户名和密码登录,如果他们离开了我的组织,我的pem文件很方便,他们仍然可以使用pem文件或密码访问我的实例。

什么是避免此问题的最佳方法。

活动目录将在此处提供帮助,而LDAP将在此处提供帮助吗?

请帮助我解决问题。

2 个答案:

答案 0 :(得分:0)

现在最好的解决方案是使用AWS Systems Manager Session Manager。这不需要共享pem。直接从浏览器进行SSH访问,我正在使用它,但未发现任何问题。此外,整个会话都可以进行审核。

否则,旋转密钥对。但是我不确定是否有一种AWS方法可以做到这一点。另外,通过使安全组仅向已知的ips开放,而不是对整个ips开放,可以使用最佳实践。

答案 1 :(得分:0)

您可以在此处将跳转服务器转换为SSH堡垒服务器。使用此服务器上的设置iptables规则可以完成相同的操作。下面提到的是可以设置的规则示例:

iptables -t nat -A PREROUTING -d xx.xx.xx.xx -p tcp --dport yyyy -j  DNAT --to zz.zz.zz.zz:22

此处xx.xx.xx.xx是SSH堡垒服务器的专用IP。 yyyy是将用于入站访问的端口。 zz.zz.zz.zz将是目标服务器的专用IP。该规则只是意味着您使用端口yyyy SSH进入计算机,这会将流量转发到zz.zz.zz.zz机器上的端口22。

在这种情况下,您只需要在目标计算机(zz.zz.zz.zz)上配置SSH公用,客户端计算机将具有私钥。来自客户端计算机的连接命令为ssh -i <path-to-private-key> username@BastionPublicIP -p yyyy

下面提到的是在安全组中打开的端口:

  1. 堡垒-入站-yyyy(来自您的IP)
  2. 堡垒-入站-22(来自您的IP)
  3. 目的地-入站-22(来自堡垒机器)

我建议您将Amazon Linux AMI用于SSH Bastion服务器。