Ansible命令选项
在之前的笔记中,使用了这样的一条命令ansible test -m ping
,使用ping模块对主机组test中的受控机进行测试。
ansibile使用ssh在这条命令中没有指定ssh的端口 密码 用户名,因为在之前配置中,做了ssh互信,端口与用户名写在了ansible配置文件中。
如果需要使用其他账号、密码进行ssh连接可以通过ansible命令选项进行连接
Ansible 的一些常用命令行选项包括:
-m
或--module
:用于指定要运行的模块。-a
或--args
:用于向模块传递参数。-k
或--ask-pass
:在远程主机上执行命令前提示输入密码。-u
或--user
:指定要以哪个用户身份登录远程主机。-i
或--inventory
:指定要使用哪个清单文件。-l
或--limit
:只对指定的主机执行操作。-f
或--forks
:指定并行操作的数量。-s
或--sudo
:以目标主机的超级用户权限执行命令。-k
或--ask-sudo-pass
:在以超级用户权限执行命令前提示输入密码。
注意在使用-k参数的时候需要安装sshpass
sshpass命令用于非交互的 ssh 密码验证。可以在命令行直接使用密码来进行远程连接和远程拉取文件。使用前提:对于未连接过的主机。而又不输入yes进行确认,需要进行sshd服务的优化。
针对主机组,ansible可以通过以下方式指定目标主机的模式:
- 单个主机:
ansible <hostname>
- 多个主机:
ansible <multiple_hostnames>
- 主机组:
ansible <groupname>
- 通配符:
ansible <wildcard>
Inventory配置选项
Ansible Inventory的配置选项主要包括:
ansible_host
: 这是要连接的主机的IP地址或主机名。例如:10.0.0.57。ansible_port
: 这是用于连接到主机的SSH端口。默认为22。如果使用不同的SSH端口,可以在后面添加冒号和端口号,如10.0.057:2222。ansible_user
: 这是用于连接到主机的SSH用户名。ansible_password
: 这是用于连接到主机的SSH密码。ansible_become
: 如果设置为“yes”,则可以使用sudo或su来提升权限。ansible_become_method
: 如果设置为sudo,则需要ansible_user用户有sudo权限。如果是su,那么ansible_become_password就填ansible_become_user对应用户密码。ansible_inventory_path
: 这是Inventory的默认位置,是一个名为/etc/ansible/hosts的文件。可以使用-i <path>选项在命令行中指定不同的清单文件。
以上这些配置选项可以在Inventory文件中直接设置,也可以在执行Ansible命令时在命令行中指定。
例如主机组名为 test ,IP为10.0.0.57 ,使用 guoguo用户 ,端口为8864,使用sudo 提权,root密码是1234
[test]
10.0.0.57 ansible_user=guoguo ansible_port=8864 ansible_become=yes ansible_become_method=sudo ansible_become_password=1234
标签:Ansible,04,--,主机,sudo,密码,ansible,become
From: https://blog.51cto.com/quietguoguo/7452754