ansible 普通用户执行命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ansible 普通用户执行命令相关的知识,希望对你有一定的参考价值。

首先需要了解ssh 普通用户登陆的做法:

1.普通用户ssh 免密登陆

举个例子:

[[email protected] ~]$ssh [email protected]

表示当前用户A(可以是root或者任何其他用户)以用户user登陆10.0.0.1

如果省略用户, 即:ssh 10.0.0.1,表示以当前用户A登陆

这里记住两个用户:

A:  当前用户,执行ssh 的用户

user:登陆10.0.0.1的用户, 这个用户是属于10.0.0.1的,必须在10.0.0.1上存在

不考虑public key的的权限问题,若要实现免密登陆成功,就要在10.0.0.1user用户家目录下的.ssh/id_rsa.pub(公钥保存文件根据sshd实际配置而异)下添加source这台机器上用户Apublic key

2.

ansible用于远程连接的paramiko模块是基于ssh的,因此,同样的道理,执行ansible命令:

[[email protected] source~]# ansible 10.0.0.1  -m raw -a"date"

表示ansible将会以root用户登陆客户机执行date命令,但是,处于安全考虑,客户端往往不允许root登陆;还好ansible是支持非root用户登陆的,加 -u 参数就可以了

[[email protected] source~]# ansible 10.0.0.1 -m raw -a "date" -u www

表示以www用户登陆客户端执行命令,不过,根据之前所述,必须保证www用户有root用户的公钥;

或者也可以采用另一钟方法,在ansible的主机配置文件中添加

vi/etc/ansible/hosts
10.0.0.161 ansible_ssh_user=www

这样,执行命令就不需要带 -u 参数了


以上是关于ansible 普通用户执行命令的主要内容,如果未能解决你的问题,请参考以下文章

Ansibleansible安装,用户级执行ansible命令,清单构建,配置文件详解

Ansibleansible安装,用户级执行ansible命令,清单构建,配置文件详解

5. ansible之sudo提权

ansible使用普通用户身份认证 切换root权限执行剧本(Ubuntu系统)

ansible使用普通用户身份认证 切换root权限执行剧本(Ubuntu系统)

ansible普通用户sudo执行指令