首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不可用脚本模块-控件套接字权限被拒绝

不可用脚本模块-控件套接字权限被拒绝
EN

Stack Overflow用户
提问于 2016-12-19 15:50:17
回答 1查看 2.6K关注 0票数 3

我是Ansible新手,我尝试使用脚本模块在远程节点上运行本地脚本。我的任务定义如下:

代码语言:javascript
复制
- name: Initial setup
  script:  ../../../initial_setup.sh
  become: yes

当我运行剧本时,我会看到下面的错误,但我不清楚实际的问题是什么。这表示连接到节点的问题还是传输脚本的问题?

代码语言:javascript
复制
fatal: [default]: FAILED! => {
    "changed": true,
    "failed": true,
    "invocation": {
        "module_args": {
            "_raw_params": "../../../initial_setup.sh"
        },
        "module_name": "script"
    },
    "rc": 127,
    "stderr": "Control socket connect(/tmp): Permission denied\r\nControlSocket /tmp already exists, disabling multiplexing\r\nConnection to 127.0.0.1 closed.\r\n",
    "stdout": "/bin/sh: 1: /home/ubuntu/.ansible/tmp/ansible-tmp-1482161914.64-107588947758469/initial_setup.sh: not found\r\n",
    "stdout_lines": [
        "/bin/sh: 1: /home/ubuntu/.ansible/tmp/ansible-tmp-1482161914.64-107588947758469/initial_setup.sh: not found"
    ]
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-20 08:45:49

tl;dr

确保-o ControlMaster=autossh_args中定义为Ansible ansible.cfg

代码语言:javascript
复制
[ssh_connection]
ssh_args = -o ControlMaster=auto -o ControlPersist=60s

以下错误与SSH连接复用有关:

控件套接字连接(/tmp):拒绝权限 ControlSocket /tmp已经存在,从而禁用多路复用。 连接到127.0.0.1已关闭

它试图直接在/tmp,而不是在/tmp内部创建一个套接字.为SSH定义的其他参数可以在这里发挥作用。

ControlMaster的值设置为auto会导致SSH创建一个新的主连接,如果现有的主连接不存在(或者有问题,如这里所示)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41226369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档