jsyum install -y epel-release yum install -y ansible
jsvi /etc/ansible/hosts
方式一:操作时是根据模块去操作的,直接填写服务器账号密码
yml[elk1]
192.168.183.112
[elk2]
192.168.183.113
# 因为两个组的登录信息完全相同,可合并为一个公共组变量(更简洁)
[elk1:vars]
ansible_user=root
ansible_password=12345678
[elk2:vars]
ansible_user=root
ansible_password=12345678

方式二就是做服务器之间的免密登录
作用:设置 Ansible 的全局默认参数(如远程用户、超时时间、提权配置等),覆盖默认行为。
jsvi /etc/ansible/ansible.cfg
yml[defaults]
# 1. 主机清单路径(默认就是/etc/ansible/hosts,可省略)
inventory = /etc/ansible/hosts
# 2. 默认远程登录用户(如果hosts文件没指定,就用这个)
remote_user = root # 比如你远程主机用root登录,就设为root
# 3. SSH私钥路径(如果用密钥登录,指定私钥位置)
#private_key_file = /root/.ssh/id_rsa # 控制机上的私钥路径
# 4. 关闭主机密钥检查(首次连接无需手动确认yes,适合自动化)
host_key_checking = False
# 5. 连接超时时间(秒),避免卡太久
timeout = 10
# 6. 并行任务数(同时操作的主机数量,默认5,主机多就调大)
forks = 20
# 7. 不生成重试文件(避免冗余的.retry文件)
retry_files_enabled = False
# 8. 关闭过时功能警告(减少输出噪音)
deprecation_warnings = False
[privilege_escalation]
# 1. 是否自动提权(比如需要执行sudo命令时,自动切换到root)
become = False
# 2. 提权方式(常用sudo,也可以是su)
#become_method = sudo
# 3. 提权到目标用户(默认root)
#become_user = root
# 4. 是否需要输入sudo密码(如果远程主机sudo免密,设为False)
#become_ask_pass = False
测试
js重启
systemctl restart sshd
# 测试elk1组的连通性
ansible elk1 -m ping
# 测试在elk2主机执行sudo命令(比如查看/root目录,需要root权限)
ansible elk2 -m command -a 'ls /root'

本文作者:松轩(^U^)
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!