Ansible sudo 密码丢失
Posted
技术标签:
【中文标题】Ansible sudo 密码丢失【英文标题】:Ansible sudo password Missing 【发布时间】:2020-12-20 02:16:42 【问题描述】:在 Ubuntu 18.04 上使用最新的 Ansible 2.9.12
已按照步骤设置无密码 ssh,我在服务器和节点机器上拥有相同的用户。
a@A:~> ssh-keygen -t rsa
a@A:~> ssh b@B mkdir -p .ssh
b@B's password:
a@A:~> cat .ssh/id_rsa.pub | ssh b@B 'cat >> .ssh/authorized_keys'
b@B's password:
a@A:~> ssh b@B <- this works
$ ansible -m ping all
尝试执行一个基本的 ansible 命令:
$ ansible -b all -m apt -a "name=apache2 state=latest"
192.168.37.129 | FAILED! =>
"msg": "Missing sudo password"
$ ansible -b all -m apt -a "name=apache2 state=latest" -kk
SSH password:
192.168.37.129 | FAILED! =>
**"msg": "Missing sudo password"
我在这里缺少什么?我应该在节点机器中创建一个新的/不同的用户吗?
【问题讨论】:
您似乎混淆了ssh
和sudo
。您可能已经将 ssh
配置为无需密码即可工作,但在您的问题中没有显示您如何将 sudo` 配置为无需密码即可工作。
【参考方案1】:
在服务器和节点机器上都实现了这些步骤
$ sudo visudo #added these 2 lines
root ALL=(ALL) ALL
<user> ALL=(ALL) NOPASSWD:ALL
$ sudo nano /etc/ssh/sshd_config
PermitRootLogin yes
PasswordAuthentication yes
$ sudo service sshd restart
那个错误消失了
【讨论】:
是的,您已通过编辑 suoders 文件将用户添加为无密码 sudo。此外,启用此功能的 `PermitRootLogin` 也不是一个好主意 @error404 -PermitRootLogin yes
是我在网上找到的指令 ktexperts.com/… 。我会尝试不使用它,看看它是否有效。有时只需要让它继续下去
configserverfirewall.com/debian-linux/… 您需要的是一个用户,您可以通过该用户 ssh 到远程服务器。用户应该启用无密码的 sudo - 这可以在 suoders 文件中完成
@error404 您提供的链接还显示PermitRootLogin yes
我已经提供了链接来了解修改PermitRootLogin yes
的影响而不是这样做。以上是关于Ansible sudo 密码丢失的主要内容,如果未能解决你的问题,请参考以下文章
linux系统下使用xampp 丢失mysql root密码xampp的初始密码为空