Ansible:通过 pip 安装从 virtualenvwrapper 运行

Ansible:通过 pip 安装从 virtualenvwrapper 运行

我正在尝试在由 virtualenvwrapper 管理的 python virtualenv 中通过“pip”安装 ansible 来测试 ansible。但是,我在使用 ssh-agent 和 SSH 密钥时遇到问题:

(ansible)$ ansible all -m ping
Enter passphrase for key '/home/jtbpizac/.ssh/id_rsa':
Enter passphrase for key '/home/jtbpizac/.ssh/id_rsa':
Enter passphrase for key '/home/jtbpizac/.ssh/id_rsa':
Enter passphrase for key '/home/jtbpizac/.ssh/id_rsa':
Enter passphrase for key '/home/jtbpizac/.ssh/id_rsa':

但是,我可以使用此 shell 中的 ssh-agent 通过 ssh 进行远程连接,不会出现任何问题:

(ansible)$ ssh [email protected]

并且 ssh-agent 似乎可以从我启动 ansible 的 shell 中获得:

(ansible)$ ssh-add -l
2048 SHA256:.. (RSA)
1024 SHA256:.. (DSA)
2048 SHA256:.. (RSA)
(ansible)$ ssh-agent -s
SSH_AUTH_SOCK=/tmp/ssh-yE20HcbylzCJ/agent.14461; export SSH_AUTH_SOCK;
SSH_AGENT_PID=14462; export SSH_AGENT_PID;
echo Agent pid 14462;

任何想法?我使用的是 Ubuntu 15.10。谢谢!

答案1

在文件 ~/.ansible.cfg 中,本地添加:

[defaults]
transport=ssh

Ansible 默认使用 paramiko(一个 Python ssh 工具)。上面的内容将告诉 ansible 使用本地 ssh(通常是 openssh)。

相关内容