Ansible"失踪成为密码"在一台机器而不是另一台机器上

时间:2016-07-04 13:21:11

标签: linux ansible sudo

情况是这样的:从目标机器B上的机器A,我运行下面的shell代码,它完成SUCCESSfully。从目标机器C上的机器A,我运行下面的shell代码,它让我"失去密码"。我可以使用凭据登录计算机A和B,而不会提示您输入sudo密码或其他任何内容。

我进入Ansible.cfg并取消注释ask_sudo_pass,这会导致代码提示我输入sudo密码。但是,我想为几十台机器自动执行此操作,每次使用时都无法为每个机器输入sudo密码。我目前正在为这些机器设置SSH密钥,但是那里有延迟,所以我需要一种方法来在短期内实现自动化。有什么建议吗?

这些是我使用的shell命令:

export ANSIBLE_HOST_KEY_CHECKING=False sshpass -p ${SSH_PASSWORD} ansible-playbook -i hosts site.yml -u ${SSH_USERNAME} --extra-vars="ssh_user=${SSH_USERNAME}"

1 个答案:

答案 0 :(得分:0)

我通常会使用

删除目标用户的密码
passwd --delete username

我依靠我的id_rsa来连接,当然我的用户名是"用户名"在目标上是轮组的一部分。

您也可以尝试编辑sudoers文件并添加类似这样的内容

your_username  ALL=(ALL)       NOPASSWD: ALL

希望这有帮助,