首页 文章

Ansible在一台机器上“丢失成为密码”而不是另一台机器

提问于
浏览
0

情况是这样的:从目标机器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

    我通常会删除目标用户的密码

    passwd --delete username
    

    我依靠我的id_rsa来连接,当然我的目标上的“用户名”是轮组的一部分 .

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

    your_username  ALL=(ALL)       NOPASSWD: ALL
    

    希望这可以帮助,

相关问题