![Ansible 用户 ssh sudo PermitRootLogin 已禁用](https://linux22.com/image/160839/Ansible%20%E7%94%A8%E6%88%B7%20ssh%20sudo%20PermitRootLogin%20%E5%B7%B2%E7%A6%81%E7%94%A8.png)
当远程服务器没有 ssh 参数时,我可以正常工作:
PermitRootLogin yes
我的工作 ansible 命令:
[ansible@myansible ~]$ ansible remoteserveur -a "cat /etc/sudoers"
PermitRootLogin no
为了安全起见,我想更改所有服务器上的 ssh 参数。完成此操作后,就不再起作用了。
UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: Permission denied (publickey,password).",
"unreachable": true
我怎样才能让我的 ansible 的用户成为普通用户并有可能通过ansible 以 root 身份运行命令。
非常感谢您的关注。
答案1
您确定您的 Ansible 剧本中没有“成为:是”指令吗?该指令负责 Ansible 代理的特权访问。
https://docs.ansible.com/ansible/latest/user_guide/become.html
答案2
非常感谢尼古拉,它给了我解决问题的好方法。我最终使用:
ansible-playbook permitrootlogin.yml -b -K
-b 表示“成为”,-K 表示“询问权限升级密码”
TASK [Disallow root SSH access] ******************************************************************************************************************************************************
ok: [server1]
ok: [server2]