You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ansible执行提权任务报提权提示等待超时错误问题咨询

故障产生原因

该报错是Ansible提权逻辑配置错误,非交互式执行时无法响应密码输入提示导致超时,具体原因如下:

  • 你的剧本提权配置存在逻辑冲突:同时指定become_method: sudo和become_flags: su,Ansible会在目标主机执行sudo su命令完成提权,但如果你的sudo规则没有配置免密,Ansible运行时为非交互模式,无法响应sudo的密码输入提示符,就会卡在提权步骤直到超时。
  • 手动执行sudo su是交互式场景,你可以手动输入密码完成提权,和Ansible的非交互执行逻辑不一致,因此手动操作正常不代表Ansible配置正确。
排查解决步骤
  • 优先修正提权配置:切换到root无需混用sudo和su两种提权方式,删除冗余的become_flags: su配置即可,修改后的任务代码如下:
- name: Download Java to Latest Version
  become: yes
  become_method: sudo
  become_user: root
  shell: |
    cd  /home
    wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" {{javaurl}}
    tar -xzvf ./jdk-*.tar.gz
    rm ./jdk-*.tar.gz
  • 如果你当前用户执行sudo需要输入密码,运行playbook时添加-K(--ask-become-pass的缩写)参数,主动传入提权密码:
    ansible-playbook 你的剧本文件名.yml -K
  • 如需免密执行Ansible任务,登录目标主机执行visudo编辑sudo规则,添加如下配置后保存即可:
    ra ALL=(ALL) NOPASSWD: ALL
  • 如果你要使用su作为提权方式,直接修改提权参数即可,无需和sudo混用:
become: yes
become_method: su
become_user: root

若su设置了密码,运行playbook时同样添加-K参数传入密码即可。

内容的提问来源于stack exchange,提问作者Rajarshi Das

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 20:09:04