我是Ansible的初学者,我需要在远程服务器上运行一些基本任务。
程序如下:
所以,我写了我的剧本如下:
---
- hosts: qualif
vars:
- ansible_user: osadmin
- ansible_password: H1g2.D6#
tasks:
- name: Copy stuff from here to over there
copy:
src: /home/osadmin/file.txt
dest: /home/osadmin/file-changed.txt
owner: osadmin
group: osadmin
mode: 0777
另外,在vars/main.yml中还有以下内容:
ansible_user: osadmin
ansible_password: password1
ansible_become_password: password2
[ some other values ]
“sudo密码不正确”
然后我更改了我的任务,这样我就不会变成sudo,而是将文件复制到osadmin无法访问的某个位置,而只是将文件复制到
/home/osadmin
. 所以,从理论上讲,只要一个简单的复制品就不需要变成sudo。
现在的问题是,它不仅一直说“错误的sudo密码”,但如果我删除它,Ansible要求它。
然后我决定运行命令并添加
-vvv
为用户osadmin建立SSH连接
S S H:EXEC sshpass-d10 SSH-C-o ControlMaster=auto-o ControlPersist=60s-o User=osadmin-o ConnectTimeout=10-o ControlPath=/home/osadmin/.ansible/cp/b9489e2193-tt主机地址'/bin/sh-C''sudo-H-S-n-u
根目录/bin/sh-c'''''''''''''''''''echo成功ewujwywrqhcqfdrkaglouhmuiefwlj;/usr/bin/python/home/osadmin/.ansible/tmp/ansible-tmp-1550076004.1888492-11284794413477/AnsiballZôsetup.py''''''''''''''''''''''''''''''''''sleep 0'''''''''
(1,b'sudo:需要密码,b'到主机地址的共享连接已关闭。\r\n')
如你所见,它以某种方式使用根,而我从未告诉过他。
提前谢谢你