ansible对机器群组进行免密登陆

版权声明:本文为博主原创文章,转载请标记转载地址,谢谢 https://blog.csdn.net/qq_26707177/article/details/83857618

目录

安装ansible

新增加3个普通用户:

更改服务器的用户名(没有就添加)

更改服务器的密码,由于不支持明文的密码,所以需要先转换一下

进行免密登陆


背景:管理了60台左右服务器,每个服务器都有相同的用户,一个一个的设置过于麻烦,就通过ansible批量的添加用户,修改密码,使用ansible-playbook进行免密登陆。前提是root用户已经完成了免密登陆的设置

安装ansible

yum install epel-release
yum install ansible -y

主机目录配置文件位置:/etc/ansible/hosts

新增加3个普通用户:

websvr_user,websvr_publisher,gamesvr_user

更改服务器的用户名(没有就添加)

ansible your_hosts -m user -a 'name=your_user shell=/bin/bash  home=/home/your_user/  state=present'

your_hosts:对应的是/etc/ansible/hosts中需要设置的组

your_user:对应的是服务器要添加的用户,可以是已存在的

state=present:代表添加

更改服务器的密码,由于不支持明文的密码,所以需要先转换一下

生成加密密码

python -c 'import crypt; print (crypt.crypt("your_passwd","your_user"))'

your_passwd:修改为你要设置的账号密码

your_user:执行时修改为对应的用户

ansible your_hosts -m user -a 'name=your_user shell=/bin/bash password=your_create_passwd update_password=always'

your_hosts,your_user正确的进行替换为相应的

password:修改成上一步生成的加密密码

进行免密登陆

脚本:ssh-keyadd.yml

位置:/root/playbook

步骤:

touch ssh-keyadd.yml
chmod 744 ssh-keyadd.yml
vim ssh-keyadd.yml

ssh-keyadd.yml编写如下:

---
- hosts: all        # 对apps 组里的所有远程主机
  gather_facts: False
  tasks:
    - name: install sshkey
      authorized_key:
        user: websvr_user
        key: "{{ lookup('file', '/home/websvr_user/.ssh/id_rsa.pub') }}"
        state: present

hosts:对应的设置主机的群组

user:对应的用户的名字

key:对应的用户.ssh文件目录

执行脚本

ansible-playbook   ssh-addkye.yml

至此用户的添加,密码的修改,免密的操作都已经完成了

参考:

http://www.mamicode.com/info-detail-2166864.html

猜你喜欢

转载自blog.csdn.net/qq_26707177/article/details/83857618