在CentOS7下使用ansible管理Deepin20.5

CentOS7下使用ansible管理Deepin20.5

环境介绍

ansible

系统:centos7.9

配置:单核1G内存5G硬盘

被控端

系统:Deepin20.5

配置:44G内存70G硬盘

被控端为普通用户

1、安装

ansible端:

设置主机名为ansible方便识别

hostnamectl set-hostname ansible


安装epel

yum install epel-release -y
yum install ansible -y


查看版本

ansible --version


2、配置

ansible端:

deepin被控端是普通用户

想要管理被控端,还需增加被控端的分组和IP地址到ansible下的hosts文件下

vi /etc/ansible/hosts


在末尾增加如下内容

[deepin]
10.10.10.11
10.10.10.12
10.10.10.13
 
[deepin:vars]
ansible_user=admin
ansible_password=密码
#以下注释行为配置sudo权限
#ansible_become=true
#ansible_become_method=sudo
#ansible_become_user=root
#ansible_become_pass=密码


 

3ansible管理验证

ansible验证管理被控端是否成功

ansible deepin -m ping


反馈有一个pong的回应代表成功,但是上面会有几行红色警告信息,这是PYTHON版本报错提示,不影响结果但看着不舒服

4、解决python报错及knows_hosts提示

编辑配置文件

vi /etc/ansible/ansible.cfg


增加如下一行到28行后面[defaults]模块下的#module_set_locale = False后面

interpreter_python = auto_legacy_silent
host_key_checking = False


再次执行

ansible -m ping deepin


此时,将只有绿色SUCCESS部分,不再有红色的告警

同时结果也不会出现know hosts无权限的提示了,当然你ssh时先手动输入yes一次也可以。

6、ansible使用方法

ansible + hosts(主机IP、分组、all+模块(pinguseryumservice等)+参数

deepin分组下使用ls命令

ansible deepin -a ls
ansible deepin -a pwd
ansible deepin -a uptime
ansible deepin -m shell -a 'curl --head baidu.com'


查看公网IP

ansible deepin -a 'curl ifconfig.me'
ansible deepin -m shell -a 'curl ifconfig.me'


被控端为root用户

7、配置root用户,设置免秘钥登录

被控端:

设置root密码,并且允许root ssh登录

sudo passwd


密码设置好之后就去修改sshd配置文件,开启root登录

sudo nano /etc/ssh/sshd_config


将这行注释掉,在下面添加一行

#PermitRootLogin prohibit-password
PermitRootLogin yes


重启ssh服务

sudo systemctl restart ssh


此时deepin系统就可以用root用户ssh登录了

 

ansible端:

设置免秘钥登录

ssh-keygen
ssh-copy-id root@10.10.10.11


验证一下免秘钥登录

ssh-keyscan 10.10.10.11  > ~/.ssh/known_hosts
ssh root@10.10.10.11


此时ssh过去就不需要输入密码了

想要管理被控端,还需增加被控端的分组和IP地址到ansible下的hosts文件下

vi /etc/ansible/hosts


在最后一行添加如下分组

[deepin]
10.10.10.11
10.10.10.12
10.10.10.13


保存退出

5、取消免秘钥登录

取消免秘钥登录之后,ansible也将失效

登录到被控端,删除ansible主机的秘钥

ssh root@10.10.10.11
rm -rf .ssh/*
exit


此时ansible端再次ssh就需要输入密码了

 


最后编辑于:2022/05/03作者: admin

发表评论