AWS EC2:获取主机公钥的安全方法

时间:2014-04-28 01:01:35

标签: amazon-web-services ssh amazon-ec2

当我第一次使用ssh连接到AWS EC2实例时,我收到如下错误,因为主机密钥未存储在ssh known_hosts文件中。

  

主机&x; x.x.x.x'的真实性不可能   成立。 ECDSA密钥指纹是   xx:yy:....你确定要吗?   继续连接(是/否)?

现在,我正在自动化ssh。我经常只是将StrictHostKeyChecking选项添加到ssh命令以避免此消息。 但是,我觉得这不是一种非常安全的方式,并可能导致中间人攻击。 是否有任何(或好的)方法可以在AWS EC2上安全地获取主机密钥?

1 个答案:

答案 0 :(得分:0)

I think the only way is to parse the console output.

exec('C://Test//test.exe C://XML//example.xml C://XML//example.out.xml');

Caveats, which might not matter depending on your application:

  • #get the console output of the instance aws ec2 get-console-output --instance-id <instance id> |\ #use jq to get the Output field jq .Output -r |\ #use sed to find the interesting bits sed -n -e '1,/-----BEGIN SSH HOST KEY KEYS-----/d; /-----END SSH HOST KEY KEYS-----/q; p' output is JSON, so we need to parse it
  • output requires some sed massage
  • output may not be the same depending on the AMI?