Ansible密码正确但无法登录目标服务器

问题

  1. 通过ansible-playbook批量管理服务器,需要事先编写inventory文件,目标服务器均使用随机密码。
  2. 在使用ansible-playbook和ansible命令时,均出现其中一台无法登录成功的问题。
  3. 通过ssh命令,使用inventory中记录得用户名、密码测试ssh登录,则成功无误。

报错如下:

bash 复制代码
[sysma@ansible mysql-glibc]$ ansible -i mysqlproSP3.ini 172.22.89.138 -m ping
172.22.89.138 | UNREACHABLE! => {
    "changed": false,
    "msg": "Invalid/incorrect password: \nAuthorized users only. All activities may be monitored and reported.\nPermission denied, please try again.",
    "unreachable": true
}

原因

随机密码出现了\转义字符,导致inventory文件内的密码在传递时发生转移,因此ansible命令使用的是错误密码。

排查

将随机密码修改为无\符号的密码,再次测试ansible命令成功无误。

解决

将密码还原,修改inventory文件内容,将标记密码字段的双引号修改为单引号,ansible默认对单引号内的内容不进行转义处理。

bash 复制代码
173.33.89.76 ansible_port=22	ansible_user="ptmauser" ansible_ssh_pass="xxxxxxxxxj\0=>" become_user="ptmauser" ansible_become_pass="xxxxxxxxxj\0=>"
173.33.89.77 ansible_port=22	ansible_user="ptmauser" ansible_ssh_pass="xxxxxxxxxowgzm" become_user="ptmauser" ansible_become_pass="xxxxxxxxxowgzm"
173.33.89.138 ansible_port=22	ansible_user="ptmauser" ansible_ssh_pass="xxxxxxxxx3ez>\" become_user="ptmauser" ansible_become_pass="xxxxxxxxx3ez>\"
173.33.89.139 ansible_port=22	ansible_user="ptmauser" ansible_ssh_pass="xxxxxxxxx6XziQ" become_user="ptmauser" ansible_become_pass="xxxxxxxxx6XziQ"

将其中随机密码出现转义字符的此行进行修改,从

复制代码
173.33.89.138 ansible_port=22	ansible_user="ptmauser" ansible_ssh_pass="xxxxxxxxx3ez>\" become_user="ptmauser" ansible_become_pass="xxxxxxxxx3ez>\"

改为

复制代码
173.33.89.138 ansible_port=22	ansible_user="ptmauser" ansible_ssh_pass='xxxxxxxxx3ez>\' become_user="ptmauser" ansible_become_pass='xxxxxxxxx3ez>\'

再次验证ansbile命令成功。

相关推荐
eastyuxiao6 小时前
思维导图拆解项目范围 3 个真实落地案例
大数据·运维·人工智能·流程图
GanGanGanGan_7 小时前
RustDesk 安装指南 — Rocky Linux 9 + XFCE X11
linux·运维·centos
风落无尘7 小时前
《智能重生:从垃圾堆到AI工程师》——第五章 代码与灵魂
服务器·网络·人工智能
南境十里·墨染春水11 小时前
linux学习笔记 网络编程——Socket入门与TCP客户端/服务器实现
linux·服务器·网络
Sirens.11 小时前
twikoo:从MongoDB Atlas到本地部署
运维·服务器
Meya112711 小时前
别再人工硬扛机房管理!智能 U 位系统,让机房管理一键数字化
大数据·运维
DFT计算杂谈12 小时前
自动化脚本一键绘制三元化合物相图
java·运维·服务器·开发语言·前端·python·自动化
Yupureki12 小时前
《Linux网络编程》6.UDP原理
linux·运维·服务器·网络·udp
楼田莉子12 小时前
Linux网络:NAT_代理
linux·运维·服务器·开发语言·c++·后端
Harvy_没救了14 小时前
【网络运维】 WordPress 部署复盘
运维·网络