电子商务 网站系统,成都网站建设门户,一个商城,上海公共招聘网app下载一、准备工作
192.168.85.138 安装ansible#xff0c;计划配置到139的免密
192.168.85.139 待配置免密
1. 生成SSH密钥对 在Ansible控制节点生成密钥对#xff0c;用于后续免密认证#xff1a;
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa
全部回车默认#xff0c;无…一、准备工作
192.168.85.138 安装ansible计划配置到139的免密
192.168.85.139 待配置免密
1. 生成SSH密钥对 在Ansible控制节点生成密钥对用于后续免密认证
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa
全部回车默认无需设置密码
2. 配置Ansible环境 关闭Host Key检查修改/etc/ansible/ansible.cfg 文件避免首次连接提示确认 [defaults]host_key_checking False
3配置Hosts文件 在/etc/ansible/hosts中定义目标主机及连接参数
[web_servers]
192.168.85.139 ansible_ssh_userroot ansible_ssh_pass123456
ansible_ssh_pass123456 这个123456就是139的root的登录密码按需配置即可
4写一个免密用的yml文件ssh_key.yml
- hosts: web_serversgather_facts: notasks:- name: Deploy SSH public keyauthorized_key:user: rootkey: {{ lookup(file, ~/.ssh/id_rsa.pub) }}state: present5执行这个文件
ansible-playbook ssh_key.yml 6检查是否配置成功
ansible web_servers -m ping 如果看到上诉内容即为免密配置成功。
7为多用户配置免密
- hosts: allvars:users:- name: adminkey: {{ lookup(file, ~/.ssh/admin.pub) }}- name: deploykey: {{ lookup(file, ~/.ssh/deploy.pub) }}tasks:- name: Add SSH keys for multiple usersauthorized_key:user: {{ item.name }}key: {{ item.key }}loop: {{ users }}
8Ansible指定hosts文件
Ansible通过**主机清单Inventory**管理目标服务器其默认路径为/etc/ansible/hosts。但在实际应用中常需根据项目需求指定不同的hosts文件。以下是2种常用方法及具体操作示例 1、通过命令行参数-i即时指定推荐 适用场景临时使用特定主机清单文件灵活性最高。 操作方法在ansible或ansible-playbook命令中通过-i参数指定路径。 bashbash 单文件指定 ansible all -i /path/custom_hosts -m ping 目录指定自动合并目录下所有文件 ansible-playbook -i inventory/prod/ playbook.yml 2通过ansible.cfg 配置文件指定改了之后就永久生效了 在ansible.cfg 配置文件中通过inventory参数指定hosts文件路径。ansible.cfg 文件路径查找顺序为 环境变量ANSIBLE_CONFIG指向的配置文件。例如执行export ANSIBLE_CONFIG/PATH./ansible.cfg 则优先使用该路径下的ansible.cfg 。 当前目录下的ansible.cfg 配置文件。 当前用户home目录下的.ansible.cfg 配置文件。 用软件包管理工具安装Ansible时自动生成的配置文件/etc/ansible/ansible.cfg 。
在ansible.cfg 文件中设置inventory参数示例
[defaults]
inventory /path/to/your/hosts_file