我正在尝试在VM上自动化一些手动任务。 因此,我的VM没有直接的root访问权限。 因此,我必须使用其他用户,然后升级到root用户。 当我尝试切换为root用户时,密码提示与默认提示不同。 我看到的提示如下所示
================== [user1 @ vm-1 tmp] $ su-root
我写了一本剧本来测试连通性。该剧如下所示
hosts: vm-1
any_errors_fatal: true
become: true
become_method: su
become_user: root
gather_facts: no
vars:
ansible_become_pass: "r00t"
tasks:
name: Test me
command: 'echo works'
====================================
localhost ansible_ssh_extra_args='-o StrictHostKeyChecking=no'
vm-1 ansible_ssh_host=1.2.3.4
ansible_connection=ssh
ansible_ssh_user=user1
ansible_ssh_pass=password
ansible_ssh_extra_args='-o StrictHostKeyChecking=no'
====================================
使用此配置,当我尝试运行播放时,我遇到了错误
致命:[vm-1]:失败! => {“ msg”:“超时(12s)等待特权 升级提示:“}
同一本剧本可以在其他VM上运行,但是尝试将用户切换为root时的提示只是“ Passowrd”
感谢您的帮助。
通过我在ansible 2.4、2.5版本中尝试过的方式。在两个版本中,我都遇到相同的错误。
先谢谢了。 拉木
答案 0 :(得分:1)
我很难找到一张打开的票,但是这是一张已关闭的票,有一些变通办法和某些解决方案可能对您不起作用: https://github.com/ansible/ansible/issues/14426
我至少有两台机器,列出的解决方案均无法正常工作。它还会在没有Ansible的情况下降低直接SSH的速度,并且重新启动也不起作用。我无法找出问题,所以现在我只是重建机器。
正如@AHT所说,您可以将ansible.cfg中的超时时间增加到30秒,但是,我认为这只是暂时的,因为它掩盖了更大的问题。