首页 文章

与服务器的共享连接失败(尝试运行Ansible playbook)

提问于
浏览
4

我是SSH服务器和Ansible的新手,所以这可能是一个愚蠢的问题 .

尝试使用下面的bash命令使用私钥访问服务器时运行Ansible playbook .

ansible-playbook dbserv.yml -i hosts --limit local-servers --private-key=(where I put the private key)

但是,我收到此错误:

致命:[xxx]:失败! => {“已更改”:false,“failed”:true,“invocation”:{“module_name”:“setup”},“module_stderr”:“与xxx关闭的共享连接 . \ r \ n”,“module_stdout”: “/ bin / sh:1:/usr/bin/python2.7:找不到\ r \ n”,“msg”:“MODULE FAILURE”}

我在我的计算机上安装了Python,所以我不明白为什么我会收到此错误 .

操作系统环境:Ubuntu 16.04.1

1 回答

  • 13

    您收到的错误消息是:

    /usr/bin/python2.7:找不到

    Ansible要求 target machine 安装Python才能正常工作(参见Managed node requirements) .

    最可能的原因是你的目标是Ubuntu 16.04,它没有安装Python 2 . 在这种情况下,您需要安装它或尝试experimental support for Python 3 .

    如果Python 2.7安装在不同的目录中,则可以添加主机变量,例如在库存文件中(假设主机名为 xxx ,如您的问题所示):

    xxx ansible_python_interpreter=/path/to/python2.7
    

    要使用Python 3(experimental)运行模块,请设置:

    xxx ansible_python_interpreter=/usr/bin/python3
    

    注意:默认情况下,Ansible会查找 /usr/bin/python ,因此您的剧本,库存文件或 ansible.cfg 可能已包含目标计算机上不存在的 /usr/bin/python2.7 的设置 .

相关问题