Ansible教程:ubuntu配置sudo免密

提出问题

使用 ansible 创建用户、复制文件等命令时,需要使用 sudo 提权,但在Ubuntu系统中,默认禁用 root 用户,只能使用普通用户。但是当前连接远程主机的普通用户,执行 sudo 需要输入密码,Ansible 没拿到这个 sudo 密码,提权失败。

分析

将Ubuntu系统中的普通用户,配置 sudo 免密

解决

假设 被控机 的用户是 user,主控机通过ansible使用 user 用户连接 被控机

用 user 用户登录到 被控机

执行下面命令编辑 sudoers:

sudo visudo

在文件最下面,添加下面内容:

user ALL=(ALL) NOPASSWD: ALL

如下图:

按 ctrl+o ,然后敲回车,写入文件

按 ctrl+x 退出编辑

测试配置是否成功

清空之前的缓存密码:

sudo -k

执行下面命令:

sudo whoami

没提示输入密码,且打印 root,说明配置成功


原文出处:/show_1GW46CW7d8l1.html