ansible的安装

自定义环境

1.操作环境

   角色主机名IP地址组名

控制主机

server.example.com

192.168.90.134

server

受控主机

node1.example.com

192.168.90.135

node1

受控主机

node2.example.com

192.168.90.133

node2  

需要保准三台主机能够互相通信。设置同一种网络模式(nat)。

2.配置IP地址

server---192.168.90.134

node1---192.168.90.135

node2---192.168.90.133

3.修改主机名

hostnamectl set-hostname server.exmaple.com

hostnamectl set-hostname node1.example.com

hostnamectl set-hostname node2.example.com

安装ansible

1.查看yun配置

#cd /etc/yum.repos.d
删除多余的(yum配置)源文件
[root@server yum.repos.d]# ll

2.配置centos8基础源

vim  /etc/yum.repos.d/base.repo
[AppStream]
name=AppStream
baseurl=https://mirrors.aliyun.com/centos/8-stream/AppStream/x86_64/os/
gpgcheck=0
[BaseOS]
name=AppStream
baseurl=https://mirrors.aliyun.com/centos/8-stream/BaseOS/x86_64/os/
gpgcheck=0

3.配置epel

#yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm

成功显示:

sed -i 's|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
                                         
sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*

yum install ansible -y

4.判断是否安装成功能显示对应版本

 案例一:控制主机和受控主机通过root用户通过免密验证方式远程控住受控主机实施对应任务

1.控住主机--server通过主机名匹配对应连接的受控主机

#vim  /etc/hosts

192.168.90.135 node1 node1.example.com
192.168.90.133 node2 node2.example.com

2.制作秘钥

# ssh-keygen -t rsa -P '' -q -f ~/.ssh/id_rsa

/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y

3.发送密钥

ssh-copy-id -i node1
ssh-copy-id -i node2

4.验证

[root@server ~]# ssh node1
Activate the web console with: systemctl enable --now cockpit.socket

Last login: Fri Dec 30 21:05:46 2022 from 192.168.90.1
[root@node1 ~]# exit
logout
Connection to node1 closed.

[root@server ~]# ssh node2
Activate the web console with: systemctl enable --now cockpit.socket

Last login: Sat Dec 31 05:06:00 2022 from 192.168.90.1
[root@node2 ~]# exit
logout
Connection to node2 closed.

[root@server ~]# ssh node1 hostname
node1.example.com

[root@server ~]# ssh node2 hostname
node2.example.com

案例二:控制主机连接受控主机通过普通用户以免密验证远程控住受控主机实施特权指定操作


当我们用普通用户在受控主机上新建用户时,会遇到权限不够的问题,而ansible中有提权的操作

        1.确定控制端和受控端都有对应的普通身份,可以通过 id 用户名 查看

        2.进入控制端的普通用户下,再次创建密钥对,发送给受控主机实现免密登录

        3.在受控主机中进行提权操作

vim /etc/sudoers
第一种[root@node1 ~]# cat /etc/sudoers | grep -C 1 redhat   查看是否授权
root    ALL=(ALL)     ALL
redhat  ALL=(ALL)      NOPASSWD: ALL
 
第二种[root@node2 ~]# cat  /etc/sudoers | grep wheel
## Allows people in group wheel to run all commands
%wheel    ALL=(ALL)    NOPASSWD: ALL
[root@node2 ~]# gpasswd -a cyg wheel
正在将用户“cyg”加入到“wheel”组中

4.查看提权是否成功 

[root@server ~]# ssh node1 sudo useradd user1
[root@server ~]# ssh node1 id user1
uid=1001(user1) gid=1001(user1) 组=1001(user1)
 
[root@server ~]# ssh node2 id cyg
uid=1000(cyg) gid=1000(cyg) 组=1000(cyg),10(wheel)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值