当我第一次使用ssh连接到AWS EC2实例时,我收到如下错误,因为主机密钥未存储在ssh known_hosts文件中。
主机&x; x.x.x.x'的真实性不可能 成立。 ECDSA密钥指纹是 xx:yy:....你确定要吗? 继续连接(是/否)?
现在,我正在自动化ssh。我经常只是将StrictHostKeyChecking选项添加到ssh命令以避免此消息。 但是,我觉得这不是一种非常安全的方式,并可能导致中间人攻击。 是否有任何(或好的)方法可以在AWS EC2上安全地获取主机密钥?
答案 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