Linux 如何使用ansible输入私钥密码

Linux 如何使用ansible输入私钥密码,linux,ssh,ansible,Linux,Ssh,Ansible,我让流浪者虚拟机运行 我可以使用ssh将ssh导入它vagrant@192.168.0.28然后它会询问我私钥的密码,我可以输入密码,然后它会让我登录 但如果我使用: ansible all-m ping 然后我得到这个: 192.168.0.28 | FAILED => FAILED: ssh moor@192.168.0.28:22 : Private key file is encrypted To connect as a different user, use -u <us

我让流浪者
虚拟机运行

我可以使用
ssh将
ssh导入它vagrant@192.168.0.28
然后它会询问我私钥的密码,我可以输入密码,然后它会让我登录

但如果我使用:

ansible all-m ping

然后我得到这个:

192.168.0.28 | FAILED => FAILED: ssh moor@192.168.0.28:22 : Private key file is encrypted
To connect as a different user, use -u <username>.
192.168.0.28 |失败=>FAILED:sshmoor@192.168.0.28:22:私钥文件已加密
要以不同的用户身份连接,请使用-u。
如何在ansible中输入通行短语


我尝试了
ansible-k
,但它说身份验证失败。

尝试使用
ssh
作为传输。通常,Ansible使用
paramiko
,这对交互式会话不那么友好:

ansible all -c ssh -m ping
如果这不起作用,我在文档或代码中没有看到任何关于使用ssh密钥密码短语运行Ansible的内容,因此您可能必须使用以下内容删除它:

openssl rsa -in private_key_with_pass_phrase -out private_key_without_pass_phrase

我删除了密码,但上面说身份验证失败。我如何在ansible中提到我想通过用户名
vagrant
而不是我正在执行ansible的主机的用户名进行连接您可以运行
ansible all-c ssh-m ping-u vagrant
也可以在
/etc/ansible/hosts
文件中指定要登录的用户主机名旁边的
ansible\u ssh\u user=ansible
,或在
/etc/ansible/ansible.cfg
中使用
remote\u user=ansible
。当然,用你想要的用户名代替我在这里输入的
ansible