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

跟随YouTube Ansible网络工程师基础演示时遭遇「operation requires privilege escalation」错误的解决求助

解决Ansible「operation requires privilege escalation」错误

这个错误的核心原因是:你的Cisco路由器需要进入特权EXEC模式(也就是enable模式)才能执行全局配置命令,但你的Playbook只提供了基础的登录凭证,没有配置特权模式的授权参数。

具体解决方案

你需要在Playbook的cli变量中添加特权模式的授权配置,步骤如下:

  1. 确认你的路由器特权模式密码:如果你的设备登录后需要输入enable+密码才能进入特权模式,记下这个密码(如果和登录密码相同,也可以复用)。
  2. 更新Playbook的vars部分:在cli字典里添加authorize: yes和auth_pass字段,修改后的Playbook示例如下:
- name: Danny's Generic Router Configuration
  hosts: R1
  gather_facts: false
  connection: local
  vars:
    cli:
      username: admin
      password: cisco
      authorize: yes  # 开启特权模式授权
      auth_pass: cisco  # 替换成你的路由器enable密码
      timeout: 100
  tasks:
    - name: Global config settings
      ios_config:
        provider: "{{ cli }}"
        lines:
          - ipv6 unicast-routing
          - errdisable recovery interval 60
          - security passwords min-length 5
          - ip name-server 99.99.99.99
          - no ip http server
          - ip http secure-server
          - snmp-server community ipvzero1 RO
          - snmp-server community ipvzero2 RW
          - ntp server 99.99.99.99
          - banner motd &**********THIS IS Danny'S ROUTER - DO NOT MAKE CHANGES UNLESS AUTHORISED! YOU WILL BE PROSECUTED! **********&
      register: print_output
    - debug: var=print_output

为什么这样能解决问题?

Cisco IOS设备默认登录后处于用户EXEC模式,这个模式只能执行查看类命令,无法修改配置。要执行configure terminal并修改全局配置,必须先进入特权EXEC模式(通过enable命令)。Ansible的ios_config模块在执行配置命令前,需要你明确授权进入特权模式,否则就会抛出「operation requires privilege escalation」的错误。

额外检查项

  • 确保你填写的auth_pass和路由器的enable密码完全一致,注意大小写敏感。
  • 如果你的路由器没有设置enable密码(不推荐生产环境这么做),可以尝试只添加authorize: yes,去掉auth_pass字段,但这种情况比较少见。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 20:03:11