linux – 如何记住/缓存或指定Ansible的私钥密码

前端之家收集整理的这篇文章主要介绍了linux – 如何记住/缓存或指定Ansible的私钥密码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
刚刚开始使用Ansible,我在客户端计算机上设置了一个Asible用户,并从OpenSSL创建了一组密钥.我在自己的帐户下运行Ansible.我在Ansible配置中指定了用户和私钥文件.我希望远程命令以此用户和该用户的身份运行,以执行需要提升的命令.
/etc/ansible/ansible.cfg

private_key_file = /etc/ansible/pka/confman.crt
remote_user = confman

这样的命令在初始输入密码后不要求密码短语:

ansible all -m ping

每次运行时都会出现以下密码短语提示

ansible all -m ping -b
Enter passphrase for key '/etc/ansible/private_keys/confman.crt':
(success)

ansible all -m ping --sudo
Enter passphrase for key '/etc/ansible/private_keys/confman.crt':
(success)

ansible all -a "cat /etc/redhat-release"
Enter passphrase for key '/etc/ansible/private_keys/confman.crt':
(success)

为什么?

有没有办法设置密码?有更安全的方式吗?我计划远程运行ansible,通过cron和其他自动化工具,输入密码短语不是一个选项.

作为上下文,我从来不需要在Linux服务器之间进行SSH,总是来自使用putty,RoyalTS和mRemoteNG等工具的Windows机器,因此我的ssh知识是……稀疏的.我想我错过了一些明显的东西.

解决方法

功能称为ssh-agent:
$eval `ssh-agent`  # you might have agent already running so this might not be needed
$ssh-add /etc/ansible/private_keys/confman.crt

现在ansible应该能够在代理中找到密钥并进行身份验证,而不必每次都要求密码. From: Documentation: Your first commands

猜你在找的Linux相关文章