ansible免密登录 (ansible与ssh均可免密登录)
一、下载ansible1、下载依赖 ,且ansible依赖于python 要确保机器上有python存在yum install epel-release2、下载ansibleyum install ansible -y二、编辑ansible免密登录(1)、首先关闭公钥认证如果不想关闭公钥认证的话,可以用ssh-keycan命令将公钥添加到本地的known_hosts文件里面去具体命令是ssh-ke
·
一、下载ansible
1、下载依赖 ,且ansible依赖于python 要确保机器上有python存在
yum install epel-release
2、下载ansible
yum install ansible -y
二、编辑ansible免密登录
(1)、首先关闭公钥认证
如果不想关闭公钥认证的话,可以用ssh-keycan
命令将公钥添加到本地的known_hosts文件里面去
具体命令是ssh-keyscan IP1 (IP2 ...) >> /root/.ssh/known_hosts
可以添加多个。
两种方法:
1、编辑ansible.cfg文件
vim /etc/ansible/ansible.cfg
添加
[defaults]
host_key_checking = False (存在,去除注释即可)
2、编辑环境变量
export ANSIBLE_HOST_KEY_CHECKING=False
(2)使用ssh-key产生公钥和私钥
[root@localhost ~]# ssh-keygen -t rsa -b 2048 -P '' -f /root/.ssh/id_rsa
(3)添加主机信息到hosts文件中
[root@localhost ~]# cd /etc/ansible/
[root@localhost ansible]# vim hosts
[db]
192.168.10.11 ansible_ssh_user='root' ansible_ssh_pass='123456'
192.168.10.12 ansible_ssh_user='root' ansible_ssh_pass='123456'
(4)编写Playbook剧本文件
[root@localhost ansible]# cat ssh.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
(5)运行playbook文件
[root@localhost ansible]# ansible-playbook -i hosts ssh.yml
PLAY [all] ********************************************************************************************************************************
TASK [install ssh key] ********************************************************************************************************************
ok: [192.168.10.11]
ok: [192.168.10.12]
PLAY RECAP ********************************************************************************************************************************
192.168.10.11 : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
192.168.10.12 : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
(6)测试
[root@localhost ansible]# ssh root@192.168.10.11
Last login: Tue May 25 18:44:30 2021 from 192.168.10.10
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:1c:22:c6 brd ff:ff:ff:ff:ff:ff
inet 192.168.10.11/24 brd 192.168.10.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::f2c9:b6da:74ff:94cb/64 scope link noprefixroute
valid_lft forever preferred_lft forever
[root@localhost ~]#
更多推荐
已为社区贡献4条内容
所有评论(0)