2017-04-26 194 views
2

我已经使用安全保管库加密AWS .pem文件以上传到GitHub。我正在Jenkins运行剧本,并且因为错误{"changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey).\r\n", "unreachable": true}而失败。如果试图手动运行剧本,它会要求我输入我没有设置的密码。我正在运行与--vault-password-file的剧本。在运行playbook之前,我已将权限设置为700。使用ansible对加密AWS .pem密钥文件进行加密

任何想法为什么ansible在用ansible-vault加密后开始询问密码短语以及如何解决此问题?

回答

0

ssh要求你输入一个密码,你知道,他们.pem文件没有关联的密码,它通常是一个迹象表明ssh无法解释文件

这可能是因为格式已被修改(例如奇怪的换行符)或它不包含预期的页眉,键和页脚。

根据您的描述,看起来ssh正在尝试使用您的文件的加密版本,它无法解释。在与ssh一起使用之前,您需要解密该文件。

+0

实际上,当我运行ansible playbook时,它解密文件然后使用它 –

+0

确定吗?你可以看看文件解密后,确认内容看起来“正常”吗? –

+0

当我使用'ansible-vault decrypt'解密并查看其内容相同并且工作时。当我用'--vault-password-file'运行安全剧本时,ansible会在内部解密文件并使用它(在剧本运行后内容保持不变)。 –

相关问题