2017-10-21 98 views
-1

我是否在每个任务中添加了明智的sudo_pass属性? 剧本中有没有什么办法可以说sudosudo_pass如何在permitrootlogin禁用的机器上运行Ansible playbook?

PLAY [testservers] ************************************************************************************ 

TASK [Gathering Facts] ******************************************************************************** 
fatal: [192.168.2.121]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ss                      h: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).\r\n", "unreachable": true} 
     to retry, use: --limit @/etc/ansible/truedeploy_jenkins.retry 

PLAY RECAP ******************************************************************************************** 
192.168.2.121    : ok=0 changed=0 unreachable=1 failed=0 

回答

2

我必须添加到每个任务的Ansible sudo_pass属性?

sudo_pass已被弃用,以支持become_pass很久以前,但这只是命名的一种情况。整个申报单系列已更名为become

你可以,但你不需要将它添加到每个任务。

有没有办法在剧本中说sudosudo_pass

become可以打出水平来定义。

0

要做的最好的事情是在用户正常帐户上使用带有私钥的ssh而不使用密码,并将此用户帐户放置在没有requiretty的sudoers中。

因此,您可以连接到远程主机,并在剧本的任务中使用成为属性。

0

这听起来像你正在尝试使用root作为ansible_user。馊主意。创建一个新用户,如u_ansible,并在/ etc/sudoers中为该用户授予NOPASSWD: ALL权限,该权限用visudo修改。

相关问题