缺少sudo密码

问题描述

在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"

在这里想念什么吗?我应该在节点计算机上创建一个新的/不同的用户吗?

解决方法

在服务器和节点计算机上都实现了这些步骤

$ 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

那个错误消失了