目录
-
实验目标:
-
实验步骤:
-
实验总结:
-
实验目标:
一、了解ansible远程连接的工作方式
二、熟练掌握使用ansible进行远程连接的基本配置及步骤 -
实验步骤:
一、准备两台实验用主机(以下数据为我主机实验配置)
hostname | IP地址 | 用途 |
---|---|---|
ansible | 192.168.1.134 | ansible 管理端 |
node1 | 192.168.1.136 | node1 被管理端 |
二、连接前控制端与被控制端的配置更改
1、被控端主机node 1 设置参数
1)关闭防火墙
2)关闭selinux
3)node1 IP:192.168.1.136
2、控制端主机ansible设置参数
1)关闭防火墙 关闭selinux
# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0
# vi /etc/selinux/config
# getenforce
2)ansible控制端IP:192.168.1.136
扫描二维码关注公众号,回复:
8503059 查看本文章
3)查看控制端使用的ansible版本
# ansible --version * 查看ansible版本
4)ansible 主机上配置被管理主机信息
# vi /etc/ansible/hosts
添加如下:
[nodes]
192.168.1.136
# cat /etc/ansible/hosts
三、使用ansible命令进行nodes1的ping测试
1、命令参数
命令:ansible
使用格式:
ansible <host-pattern> [-m module_name] [-a args]
常用选项:
--version #显示版本
-k,--ask-pass #提示输入ssh连接密码,默认key验证
-m module #指定模块,默认为command
-v #详细的过程 -vv -vvv更详细
--list-hosts #显示主机列表,可简写 --list
-C,--check #检查,并不执行
-T,--TIMEOUT=TIMEOUT #执行命令的超时时间,默认10s
-u,--user=REMOTE_USER #执行远程执行的用户
-b,--become #代替旧版的sudo 切换
--become-user=USERNAME #指定sudo的runas用户,默认为root
-k,--ask-become-pass #提示输入sudo时的口令
2、ansible 命令行使用格式 ansible 被管理主机 选项 -m 模块名称
# ansible nodes -m ping
上面的执行过程默认使用的 ssh 秘密验证登录方式,由于我们没有配置,因此 ping 操作失败
使用 -k 选项指明要求输入密码进行登录验证
# ansible nodes -k -m ping
登录验证成功!
输入一次密码之后ansible会记住密码,以后直接操作即可
# ansible nodes -m ping
查看隐藏文件 .ansible
# ll -al
删除ansible 本地配置信息
登录验证失败,密码失效
四、配置免密登录秘钥进行主机访问
1、为方便实验此处密码可设置为空
1) # ssh-keygen
2) # ssh-copy-id 192.168.1.136
3) # ls -al *查看隐藏文件
2、拷贝生成好的 .ssh 文件夹到被管理主机 /root 路径下
1) # scp -rp .ssh 192.168.1.136:/root/
2) 查看被控端.ssh文件
3)验证免密登录
免密登录成功!
5)测试 ansible 访问 node1 主机
-
实验总结:
总结: 1、通过实验了解ansible远程连接主机的基本配置 2、通过ssh协议,实现对远程主机的配置管理、应用部署、任务执行等功能。 3、配合ssh协议可以搭建出多套环境供开发和测试人员使用。