如何让amazon EC2实例自动进行身份验证?

时间:2013-07-18 10:26:39

标签: ssh amazon-ec2 ubuntu-12.04 public-key-encryption openmpi

我使用aws java sdk启动EC2实例(运行Ubuntu 12.04)并在其上运行分布式工具,该工具使用openMPI在节点之间传递消息,openMPI使用SSH将节点相互连接。

问题是默认情况下EC2实例不会相互验证SSH连接,这个tutorial显示了如何通过生成密钥并将它们添加到节点来设置SSH,但是,当我尝试添加时使用命令

生成的从站密钥
$ scp /home/mpiuser/.ssh/id_dsa.pub mpiuser@slave1:.ssh/authorized_keys

我仍然被许可拒绝。此外,在生成新密钥后,我无法使用从亚马逊获得的“.pem”密钥登录。

我对SSH密钥没有经验,但我希望能够通过某种方式配置每个EC2实例(首次创建时)以验证其他实例,例如通过将密钥复制到每个实例中。这是可能的吗?如何做到这一点?

P.S。:我可以在启动后连接到每个实例,并可以通过SSH在它们上执行任何命令。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,我在图像(AMI)中添加了亚马逊私钥(.pem),用于创建EC2实例,我通过添加新的身份文件来更改/ etc / ssh / ssh_config文件/ p>

IdentityFile /path/to/the/key/file

这使得SSH在尝试连接到使用相同密钥创建的任何其他EC2实例时识别.pem私钥。

我还将StrictHostKeyChecking更改为否,这会停止消息“无法建立主机xxx的真实性”,这需要用户进行交互才能继续连接到该主机。