如何在ansible cli上传递密码短语?

如何在ansible cli上传递密码短语?,ansible,Ansible,我正在运行以下命令 ansible --args="top -b n1" --connection=ssh --inventory-file=xx.xx.xxx.xxx, all --extra-vars="ansible_user=devuser" --private-key /opt/hivecenter/keys/id_rsa_135 Enter passphrase for key '/opt/hivecenter/keys/id_rsa_135': 由于此密钥受密码短语保护,它会提示

我正在运行以下命令

ansible --args="top -b n1" --connection=ssh --inventory-file=xx.xx.xxx.xxx, all --extra-vars="ansible_user=devuser" --private-key /opt/hivecenter/keys/id_rsa_135
Enter passphrase for key '/opt/hivecenter/keys/id_rsa_135':

由于此密钥受密码短语保护,它会提示我提供密码短语,但我希望在命令本身中提供密码短语。如何做到这一点?

如果您正在使用Python(或者不介意使用它),您可以使用pexpect模块在后台执行Ansible命令并自动传递密码短语。

您的密钥真的需要密码短语吗?如果您的系统是安全的,则实际上不需要密码短语。此外,不建议在命令中以明文形式发送密码短语,因为在运行命令时,该命令将保存在命令行历史记录中


另一个选项是使用Python和Pexpect模块来执行命令并自动发送密码短语。

命令行历史记录不会有问题,因为我将屏蔽所有机密,但有没有办法在命令行中传递它?请查看中的“安全存储密钥密码短语”部分。这对我来说是不可行的:(。所以我们不能在命令行中传递它?