Bootstrap

Ansible企业运维实例(一)—服务器批量免密认证

        企业中为了维护服务器方便,我们第一次初始化时一般会创建服务器免密登录。这样后续管理服务器时只需在hosts文件中填写服务器IP即可维护。下面是ansible批量配置服务器免密登录方式。

一、Ansible服务器批量免密认证准备

1、关闭服务ssh登录验证,取消host_key_checking注释即可

# vi /etc/ansible/ansible.cfg
[defaults]
host_key_checking = False

2、Ansible服务器需生成本地用户密钥

#输入以下命令,全部默认回车即可。也可以单独设置密钥密码
#ssh-keygen -t rsa 

二、Ansible批量认证脚本

#vi sshkey.yml 
---
- hosts: all
  gather_facts: no
 
  tasks:
  - name: install ssh key
    authorized_key: user=root
                    key="{{ lookup('file','/root/.ssh/id_rsa.pub')}}"
                    state=present

三、hosts主机文件

hosts可以填写服务器密码,也可以指定服务器密钥所在位置

# vi hosts
[hosts]
#服务器使用密码认证
10.0.1.40 ansible_ssh_port=22 ansible_ssh_user='root' ansible_ssh_pass='Admin@1234'
10.0.4.55 ansible_ssh_port=22 ansible_ssh_user='root' ansible_ssh_pass='Admin@1234'
#服务器使用密钥认证
10.0.4.60 ansible_ssh_port=22 ansible_ssh_private_key_file=/etc/ansible/ssh_key_file/60-key
10.0.4.16 ansible_ssh_port=22 ansible_ssh_private_key_file=/etc/ansible/ssh_key_file/16-key

四、运行服务器免密脚本

ansible-playbook -i hosts sshkey.yml

其他Ansible企业运维实例

Ansible企业运维实例(一)

服务器批量免密认证

Ansible企业运维实例(一)—服务器批量免密认证

Ansible企业运维实例(二)

服务器信息收集

Ansible企业运维实例(二)—服务器信息收集

Ansible企业运维实例(三)

服务器硬盘初始化




 

;