[问题] ansible ssh相关问题

楼主: raynoz (Rayoz)   2023-01-03 18:23:08
公司最近请我研究用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 不知道怎么改
不知道该怎么解决....
求大大们指教
作者: holishing   2023-01-03 22:06:00
以前我可以用 ansible.cfg 设定 remote_user主要是你要确定那个远端帐号可以提权(become)
作者: chang0206 (Eric Chang)   2023-01-04 11:05:00
1. 在安装系统时,就先指定一个帐号可以做sudo你的被控端已经都设定不接受 root ssh 这个不解 后面就没没办法自动,除非你的每一台机器上面都有一个帐号可以变成root , ansible 可以在inventory档案指定user或者是用-u user_name 来指定或许该考虑那种可以同时在多个tab下指令的terminal ??
楼主: raynoz (Rayoz)   2023-01-04 15:27:00
c大 我的每一台机器都有一个帐号可以变成root我也有测试ssh到该帐号 并输入passwd改密码是OK的但Ansible改密码的方式似乎不一样错误讯息会显示usermod: Permission denied.\nusermod: cannot lock/etc/passwd;
作者: LinBuoRen (林博仁)   2023-01-04 15:58:00
ansible_become_password 有设定吗?剧本或剧本改密码的 task 有设定 become: True 吗?
楼主: raynoz (Rayoz)   2023-01-04 16:21:00
后来成功了 ansible-playbook指令加参数-b --become-user root --become-method sudo刚开始学ANSIBLE 要花时间理解理解了..再次感谢各位大大
作者: asdfghjklasd (好累的大一生活)   2023-01-05 00:39:00
YP NIS
作者: mgdesigner (機槍設計師)   2023-01-05 17:23:00
linxu ? 林苏??
作者: chang0206 (Eric Chang)   2023-01-06 09:55:00
楼上看好细!!

Links booklink

Contact Us: admin [ a t ] ucptt.com