ansible 执行命令 FAILED失败

2023-05-16

ansible 执行命令 FAILED失败

  • 背景
  • 环境说明
  • 排查步骤
  • 定位
  • 处理步骤
  • 验证
  • 异常-sudo: 需要密码

背景

生产工作需要,新增了服务器,加入到了ansible的hosts文件,使用ad-hoc命令执行测试连接异常。

环境说明

项目版本备注
Centos7.9.2009 (Core)被控端系统
Ubuntu18.04主控端系统
ansible2.9.27工具

vi /etc/ansible/hosts

[ops]
10.6.6.161  ansible_ssh_user=[user_name] ansible_ssh_pass=[xxxxxxxx] ansible_become_method=sudo ansible_sudo_pass=[xxxxxxxx]

排查步骤

  1. 使用的普通用户连接连接错误异常,
10.6.6.161 | FAILED! => {======================================================
    "ansible_facts": {   
        "discovered_interpreter_python": "/usr/bin/python"    
    },                   
    "changed": false,      
    "msg": "Invalid/incorrect password: Permission denied, please try again.",   
    "unreachable": true        
} 
  1. 切换到管理员操作命令还是错误异常。

修改hosts文件

[ops]
10.6.6.161  ansible_ssh_user=root ansible_ssh_pass=[xxxxxxxx] 
10.6.6.161 | FAILED! => {======================================================
    "ansible_facts": {   
        "discovered_interpreter_python": "/usr/bin/python"    
    },                   
    "changed": false,      
    "module_stderr": "Shared connection to 10.6.6.161 closed.\r\n",       
    "module_stdout": "/bin/sh: sudo: 未找到命令\r\n",           
    "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",        
    "rc": 127        
} 
  1. 登录到远程电脑上操作
sudo mkdir /data
bash-: no sudo model

定位

服务器没有sudo模块

处理步骤

安装sudo

yum install sudo -y

验证

重新执行ansible命令,用户为普通用户。

ansible ops -m ping 
j@TK:~$ ansible ops -m ping
10.6.6.161 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}

异常-sudo: 需要密码

登录阿里云服务器使用过程中的报错

ssh-copy-id -i /home/username/.ssh/ansible.pub username@192.168.1.114

提示输入分发端服务器的shalter账号密码

输入完毕后,在分发端的

#/home/username/.ssh/生成authorized_keys文件

并且在文件中存储了主控端的rsa值,具备以下数据后,从主控端可以免密登陆分发端主机。

vi /etc/ansible/hosts

[ali]
XXX.XX.XX.XX ansible_ssh_user=username

主控端输入

ansible ali -m ping

弹出如下异常

xx.xxx.xxx.xxx | FAILED! => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "module_stderr": "Shared connection to xx.xxx.xxx.xx closed.\r\n", 
    "module_stdout": "sudo: 需要密码\r\n", 
    "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", 
    "rc": 1
}

登录被控端服务器

#visudo

root			ALL=(ALL)		ALL
username	ALL=(ALL)		NOPASSWD:	ALL

:wq

保存退出

重新执行

$  ansible ali -m ping
xx.xxx.xxx.xx | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ansible 执行命令 FAILED失败 的相关文章

  • Ansible 手册:错误! “command”不是 Play 的有效属性[重复]

    这个问题在这里已经有答案了 我只是想写一个基本的剧本 并不断收到下面的错误 尝试了很多东西但仍然无法做到正确 我知道这一定是语法问题 但不知道在哪里 这是我的代码 This playbook runs a basic DF command
  • 如何从 Ansible 中的指定组中删除用户?

    我们假设user01定义了两个组 groupA and groupB 除了主要组之外 我可以将帐户添加到groupC 确保user01属于groupC using user name user01 groups groupC append
  • 无法将属性与数字进行比较。错误:“‘AnsibleUnsafeText’和‘int’实例之间不支持”

    getent database passwd debug var getent passwd dict2items selectattr value 1 gt 1000 map attribute key list 输出是 TASK deb
  • 使用 Python API 2.0.0.1 运行 Ansible Playbook

    安塞布尔版本 2 0 0 1 我现在已经四处寻找了很多 我发现的大多数文档要么不完整 要么已弃用 这篇文章适用于1 8 4版本 即 https stackoverflow com questions 27590039 running ans
  • 如何配置 Ansible 跳过两个堡垒主机?

    我想编写一个 Ansible 剧本 使用 Ansible 2 7 5 它将在到达目标服务器之前跳过两个主机来执行诸如安装 docker 和 python 等操作 我能够让 Ansible 通过一台主机跳转到server1通过将其添加到我的h
  • 如何在 jinja2 中缩进嵌套的 if/for 语句

    我有一个很长的 Jinja2 模板 其中有很多嵌套if for声明 很难读 我想缩进 位 使其更清晰 但是 如果我这样做 这些块的内容也会进一步缩进 我怎样才能缩进just the bits 我正在使用安塞布尔 重现步骤 template
  • Ansible git clone“权限被拒绝”但直接 git clone 工作

    我在使用 Ansible 时遇到了一个令人不安的问题 我使用当前主机的 ssh 密钥在我的环境中设置 git 克隆 name Add user Public Key copy src Users alexgrs ssh id rsa pub
  • 使用 ansible 'Docker login' 和 _json_key Docker 登录到 GCE

    我正在尝试编写一个 ansible 角色 首先执行以下操作docker login从容器注册表中提取映像之前 将其复制到 GCE 实例 由于提到的问题 我需要这样做here https stackoverflow com questions
  • 使用 Ansible 将二进制文件添加到 PATH

    我正在尝试安装Kiex https github com taylor kiex版本管理器Elixir http elixir lang org install html使用 Ansible 的编程语言 这些是我为此使用的戏剧 name K
  • Ansible local_action 指令

    我对 Ansible 很陌生 有一个简单的问题来了解我的理解local action指示 这是否意味着该命令完全在本地执行 假设你有这样的东西 local action command which nginx register check
  • Ansible bitbucket 克隆存储库配置 ssh 错误

    我之前发布过这个问题 但那里的答案不再有效 总之 当使用 Ansible 配置我的 vagrant box 时 在尝试使用 ssh 克隆我的 bitbucket 私有存储库时 我遇到了一个神秘的错误 该错误指出 权限被拒绝 公钥 然而 如果
  • if else 在 ansible 打印语句中

    我需要有关具有多个条件的打印语句的语法的帮助 目前 报价为 inventory hostname 导致错误 如果我删除剧本运行的引号 但列出文本 inventory hostname 而不是变量 我想知道如何打印变量以及 if else 语
  • 在 Ansible 中使用模板模块附加文件

    所以我有一个 ansible 剧本 它使用 Jinja2 模板来创建日志文件 每次我运行剧本时 它都会从customers yml中提取客户信息 并将完整的模板输出到 stunnel conf 文件中 该模板工作正常 但我试图找到一种方法来
  • 如何在 Jinja 中过滤字典?

    我有一个包字典 包名称是key和一些细节的字典是value php7 1 readline latest 7 1 9 1 ubuntu14 04 1 deb sury org 1 origins ppa launchpad net vers
  • 角色和任务可以存在于同一个剧本中吗?

    file main yml hosts fotk remote user fakesudo tasks name create a developer user user name user password password shell
  • 开发/生产中的 Ansible 服务器/组

    我所处的情况是看不到正确的使用方法 我有多个分配了不同角色的服务器 分布在多个组中 与生产 登台环境相比 我在本地 Vagrant 环境中遇到了一些使用 group vars 的困难 在生产中 有更多的服务器 分配的组更少 在我的 Vagr
  • Ansible:仅在存在时禁用服务

    有没有什么好的方法可以禁用和停止服务 但前提是它安装在服务器上 像这样的事情 service name item enabled no state stopped only if present yes with items avahi d
  • 使用带有文件模块的ansible创建目录列表很慢

    我有一个角色 必须创建目录列表 哪些目录最终出现在列表中取决于运行时评估的几个条件 当我使用file模块 如图所示 这非常慢 创建甚至检查每个目录是否存在大约需要半秒 在我遇到的场景中很容易就达到几分钟 流水线已启用 name Create
  • 如何从 Ansible 模块获取当前主机名?

    我正在开发自定义 Ansible 模块来控制 Vagrant 控制多个 VM 服务器上的多个 VM 节点 遵循指南https docs ansible com ansible latest dev guide developing modu
  • Ansible - 当至少一项在循环中失败时跳过任务

    我正在使用 sqlplus 运行一些 SQL 脚本 在运行之前 我从该目录获取所有 sql 文件列表并将其存储在sql out如下所示 问题是 如果其中一个 sql 脚本失败 其余 sql 脚本仍然会执行 如果任何一个脚本失败 我想完全跳过

随机推荐

  • 银行业数字化运营体系(上):渠道触点矩阵建设

    数字化运营体系是构建从获客 激活 留存 营收转化到转介的客户全生命周期的运营体系 xff0c 推动线上产品和业务运营的数字化与智能化 随着互联网技术的不断发展 xff0c 移动设备已经成为人们日常生活中不可或缺的一部分 xff0c 越来越多
  • 5 月 23 日,直播解读神策数据 X 网易云商智能营销解决方案

    点击 阅读原文 xff0c 免费报名
  • 一篇讲清:数据采集与埋点

    在这篇文章里面 xff0c 我们会对数据采集的一些基本概念进行阐述 xff0c 然后 xff0c 会针对目前市面上新增的一些前端埋点技术 xff0c 如可视化埋点与 无埋点 的技术细节做一个具体的介绍 xff0c 并且阐述我们自己对于这些技
  • 大数据分析的四个关键环节

    什么是大数据 xff1f 随着大数据时代的到来 xff0c AI 概念的火热 xff0c 人们的认知有所提高 为什么说大数据有价值 xff1f 这是不是只是一个虚的概念 xff1f 大家怎么考虑数据驱动问题 xff1f 为什么掌握更多的数据
  • 数据分析师的具体工作职责和工作内容有哪些?

    我和我们数据分析师总监深入聊了一下 xff0c 这个答案不仅会和大家聊一下工作内容和工作职责 xff0c 还会真心实意的和大家聊下这个工作是不是像想象中那么光鲜 xff0c 有什么大家其实没想到的工作 xff0c 其实很重要 xff0c 也
  • 一篇讲清:数据采集中的安全与隐私

    1 数据采集面临的安全与隐私挑战 不管是第三方分析工具 xff0c 还是企业的第一方分析系统 xff0c 在分析用户行为时 xff0c 通常都会选择在客户端 xff08 一般是安卓 iOS 和 Web 端 xff09 采集用户的行为 xff
  • 什么是全埋点?

    全埋点 xff0c 也叫无埋点 无码埋点 自动埋点 全埋点是指预先收集用户的所有行为数据 xff0c 然后再根据实际分析需求从中提取行为数据 全埋点采集的事件主要包括下面四种 AppStart 事件 指 App 启动 xff0c 包括冷启动
  • 一分钟解决你的公有云私有云选择困难症

    全球的云计算产业如今是一日千里的发展势头 xff0c 最近国际调研机构RightScale数据显示 xff0c 有88 的企业在使用公有云 xff0c 其余的选择了私有云与混合云 许多的企业负责技术人员在选择哪种云服务时也往往有这样的疑问
  • Ubuntu将默认python版本改为python3

    文章目录 具体流程bash操作记录 具体流程 查看当前系统默认python版本 python version 查看 安装python 安装python3 apt install python3查看python3 whereis python
  • MacOS通过homebrew安装python 3.7方法

    显示Mac系统隐藏文件 xff1a 显示 defaults write com apple finder AppleShowAllFiles boolean true killall Finder 隐藏 defaults write com
  • FreeRTOS和RT-Thread的资源管理

    文章目录 资源管理一 简述个人总结 二 保证原子操作的二种方式1 临界区API 2 挂起调度器个人总结 三 互斥量 xff08 mutex xff09 优先级反转优先级继承死锁 四 守护任务零 xff1a 线程间同步的名字解释1 信号量 互
  • C#中布局的控件

    条目控件 xff08 ItemsControl xff09 WPF 控件的另一大类就是 ItemsControl xff0c 它是直接从 Control 类中派生出来的 与内容控件中只能含有一个控件不同 xff0c ItemsControl
  • openstack glance连接认证keystone出现错误的一个解决思路

    搭建好了keystone服务后 xff0c 对自己本身的认证是成功的 说明keystone配置是正确的 之后开始配置glance服务 xff0c 配置好了 xff0c 出现了如下报错 root 64 linux node1 glance i
  • CMMi软件能力成熟度2.0版 在CMMI V1.3版本中,只是在5级中强调了围绕商业目标进行过程改进,但是在2.0中,无论哪个等级都强调了围绕商业目标进行改进,这是2.0的一个基本思想,也是过程改

    这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题 xff0c 有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中 居左 居右SmartyP
  • repo拉代码The remote end hung up unexpectedly解决方法

    git config global http lowSpeedLimit 0 git config global http lowSpeedTime 999999
  • AI漫想

    对人工智能一直有一种面对未知的好奇感 xff0c 所以也注意一些最新动态 首先 xff0c 强人工智能会出现 xff0c 或许已经出现 佛教中 色 xff0c 香 xff0c 声 xff0c 味 xff0c 触 xff0c 法 也可以看作我
  • 2014雅虎校招笔试题目

    今天去参加了雅虎的笔试题 xff0c 算是给自己留个记录吧 首先是8个选择题 xff0c 然后2个填空题 选择题不太难 xff0c 也记不大清楚了 填空题为2个概率题 xff0c 1个是2个人在下午2点 3点之间碰面 xff0c 他们出发时
  • 数据库系列-查询性能优化

    一 为什么要优化查询性能 1 因为每一个查询指令都是一个子任务 xff0c 执行每个子任务都需要花费时间 xff0c 优化查询的目的就是减少子任务的数量或者让子任务运行更快 2 查询的生命周期 从客户端到服务器 xff0c 在服务器上解析
  • 配置jenkins过程中Gitee无法添加证书令牌

    配置jenkins过程中Gitee无法添加证书令牌 背景处理步骤 背景 本篇是一个处理过程中的一个环节篇 xff0c 整体的背景为jenkins安装有一段时间了 xff0c 一直没怎么用起来 xff0c 就跟买了辆车一直爬在车库里吃灰 xf
  • ansible 执行命令 FAILED失败

    ansible 执行命令 FAILED失败 背景环境说明排查步骤定位处理步骤验证异常 sudo 需要密码 背景 生产工作需要 xff0c 新增了服务器 xff0c 加入到了ansible的hosts文件 xff0c 使用ad hoc命令执行