作者raynoz (Raynoz)
看板Linux
标题[问题] ansible ssh相关问题
时间Tue Jan 3 18:23:08 2023
公司最近请我研究用ansible批量修改linxu server的密码
其中有遇到一个问题
当我使用ansible-playbook指令跑yml
会需要SSH到我在/etc/ansible/hosts指定的机器动作
但是会使用root user
都会遇到permission denied的问题 就直接 unreachable
这个问题先前在用ansible部属K8S的时候有解决
当时是要先到各个被控端
1.输入passwd root 更改一次密码
2.编辑 /etc/ssh/sshd_config并新增PermitRootLogin yes
3.重启sshd systemctl restart sshd
4.ansible端设定无密码 ssh-keygen (按下4次enter 设定无密码)
5.ansible端跑 ssh-copy-id root@ip (ip为各个被控端)
就可以ssh root@被控端IP
而K8S node才几台 去跑上面步骤OK
但我今天是要跑全公司Linux机器 有几百台...
想问问看有没有别的方式
其中有想到可能是可以让ansible用非root去SSH(但不确定会不会遇到SSH可以通 但进去後没权限的问题)
但是ansible似乎都是用root去ssh 不知道怎麽改
不知道该怎麽解决....
求大大们指教
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 211.75.6.134 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Linux/M.1672741390.A.D26.html
1F:推 holishing: 以前我可以用 ansible.cfg 设定 remote_user 01/03 22:06
2F:→ holishing: 主要是你要确定那个远端帐号可以提权(become) 01/03 22:08
3F:推 chang0206: 1. 在安装系统时,就先指定一个帐号可以做sudo 01/04 11:05
4F:→ chang0206: 你的被控端已经都设定不接受 root ssh 这个不解 後面就 01/04 11:06
5F:→ chang0206: 没没办法自动,除非你的每一台机器上面都有一个帐号 01/04 11:06
6F:→ chang0206: 可以变成root , ansible 可以在inventory档案指定user 01/04 11:07
7F:→ chang0206: 或者是用-u user_name 来指定 01/04 11:07
8F:→ chang0206: 或许该考虑那种可以同时在多个tab下指令的terminal ?? 01/04 11:08
9F:→ raynoz: c大 我的每一台机器都有一个帐号可以变成root 01/04 15:27
10F:→ raynoz: 我也有测试ssh到该帐号 并输入passwd改密码是OK的 01/04 15:29
11F:→ raynoz: 但Ansible改密码的方式似乎不一样 01/04 15:30
12F:→ raynoz: 错误讯息会显示usermod: Permission denied 01/04 15:32
13F:→ raynoz: .\nusermod: cannot lock 01/04 15:32
14F:→ raynoz: /etc/passwd; 01/04 15:33
15F:推 LinBuoRen: ansible_become_password 有设定吗? 01/04 15:58
16F:→ LinBuoRen: 剧本或剧本改密码的 task 有设定 become: True 吗? 01/04 15:58
17F:→ raynoz: 後来成功了 ansible-playbook指令加参数 01/04 16:21
18F:→ raynoz: -b --become-user root --become-method sudo 01/04 16:22
19F:→ raynoz: 刚开始学ANSIBLE 要花时间理解理解了..再次感谢各位大大 01/04 16:22
20F:→ asdfghjklasd: YP NIS 01/05 00:39
21F:→ mgdesigner: linxu ? 林苏?? 01/05 17:23
22F:→ chang0206: 楼上看好细!! 01/06 09:55