linux 7【CentOS-7-x86_64】Ansible安装

本文档详细介绍了如何在运行Linux 7.0和Python 2.7.5的环境中,通过主控节点(192.168.40.68)配置SSH访问,然后在主控节点上安装Ansible,以此来管理两个被控节点(192.168.40.09和192.168.40.10)。主要内容包括生成SSH密钥对,将主控节点的公钥添加到被控节点的authorized_keys文件中,以及通过yum在主控节点上安装Ansible并验证连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境

linux 7.0

python 2.7.5

主控:192.168.40.68

被控01:192.168.40.09

被控02:192.168.40.10

 

配置ssh访问

主控:192.168.40.68

ssh-keygen 
cat /root/.ssh/id_rsa.pub 

生成ssh,查看主控端公钥,如下:

[root@localhost ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Fodm2b2DNfh0TjkkbP7WQ9VhmLwKUjHcj6iVlzDeTi0 root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
|        .oo.o +oo|
|         O.+o*..o|
|        O XoX * .|
|       + O E.X o |
|        S * *.o. |
|       o   o .o..|
|             .  .|
|                 |
|                 |
+----[SHA256]-----+
[root@localhost ~]# cat /root/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDI/E8BtYYngDRsHgFikYp4/IZlkFKAr/8+YBl+auhM6TFy6z9jizJW/LXvZE5q4xNb6w4/0ntXcjSVTiF1yNtN+E9/yS/F/Jn7fjbpGaKyyKWZhDPlAfoM2+Z5sBgIPVfWG1ChT4jm6wc+usmdjw2+0ANWxWNu7uycwn5PuqNAuSfsuw9S+NdwhkU29bQ4ocTI2d5QPdDvKH7aeXrHpIdM2PN6B8q7164tH/D8Jxgjdei+RSTbvwRKRBPjCHpp62RnFGOTD2TibAjCDQRAlEaTzyB9EDFVOzc1Dv9bNz14K9v7EOKFX7VwJlth/9HBG7rZBKDo5+1XktT/DhguIrBr root@localhost.localdomain
[root@localhost ~]#

被控01:192.168.40.09

ssh-keygen
vim ~/.ssh/authorized_keys

生成ssh,打开authorized_keys文件,将192.168.40.68的id_rsa.pub公钥复制到192.168.40.09的authorized_key文件中。保存。如下:

[root@localhost ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:9bICeGkKJeCXjIxaKJdOE3RvZYA131RgvV6w/IBctzo root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
|..o .o+.o ++.    |
|+oo+o. = +  + .  |
|++B+. o ..o+ = . |
|o=.+ o . .o.= o  |
|. o . = S ...=   |
|   . + .   oE .  |
|    .   . .  .   |
|         .       |
|                 |
+----[SHA256]-----+
[root@localhost ~]# vim ~/.ssh/authorized_keys

被控02:192.168.40.10

ssh-keygen
vim ~/.ssh/authorized_keys

生成ssh,打开authorized_keys文件,将192.168.40.68的id_rsa.pub公钥复制到192.168.40.10的authorized_key文件中。保存。如下:

[root@localhost ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:rKcJBEV5uNYyC0zxtVFctZ2gE1is8u72K06An2vb9o4 root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
|  .ooooo.=+.o    |
|  .oo..oo .o + . |
| o. .+.  .o . o  |
|  o.=.o..  .     |
|   oo+.oS        |
|   ... +.        |
|    . +.o        |
|     ..B=.       |
|     .=*E==.     |
+----[SHA256]-----+
[root@localhost ~]# vim ~/.ssh/authorized_keys

安装ansible

主控:192.168.40.68

ansible只需要在主控端安装即可。

 

yum install ansible -y
vim /etc/ansible/hosts

 使用yum安装,安装完成后,添加被控端ip至主控端hosts文件末尾中。如下

[root@localhost ~]# yum install ansible -y
已加载插件:fastestmirror, langpacks
Determining fastest mirrors
 * base: mirrors.cn99.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
base                                                                   | 3.6 kB  00:00:00     
extras                                                                 | 3.4 kB  00:00:00     
updates                                                                | 3.4 kB  00:00:00     
(1/4): base/7/x86_64/group_gz                                          | 166 kB  00:00:00     
(2/4): extras/7/x86_64/primary_db                                      | 156 kB  00:00:00     
(3/4): updates/7/x86_64/primary_db                                     | 1.3 MB  00:00:00     
(4/4): base/7/x86_64/primary_db                                        | 6.0 MB  00:00:03     
正在解决依赖关系
--> 正在检查事务
---> 软件包 ansible.noarch.0.2.4.2.0-2.el7 将被 安装
--> 正在处理依赖关系 sshpass,它被软件包 ansible-2.4.2.0-2.el7.noarch 需要
--> 正在处理依赖关系 python2-jmespath,它被软件包 ansible-2.4.2.0-2.el7.noarch 需要
--> 正在处理依赖关系 python-setuptools,它被软件包 ansible-2.4.2.0-2.el7.noarch 需要
--> 正在处理依赖关系 python-passlib,它被软件包 ansible-2.4.2.0-2.el7.noarch 需要
--> 正在处理依赖关系 python-paramiko,它被软件包 ansible-2.4.2.0-2.el7.noarch 需要
--> 正在处理依赖关系 python-jinja2,它被软件包 ansible-2.4.2.0-2.el7.noarch 需要
--> 正在处理依赖关系 python-httplib2,它被软件包 ansible-2.4.2.0-2.el7.noarch 需要
--> 正在处理依赖关系 python-cryptography,它被软件包 ansible-2.4.2.0-2.el7.noarch 需要
--> 正在检查事务
---> 软件包 python-httplib2.noarch.0.0.9.2-1.el7 将被 安装
---> 软件包 python-jinja2.noarch.0.2.7.2-2.el7 将被 安装
--> 正在处理依赖关系 python-babel >= 0.8,它被软件包 python-jinja2-2.7.2-2.el7.noarch 需要
--> 正在处理依赖关系 python-markupsafe,它被软件包 python-jinja2-2.7.2-2.el7.noarch 需要
---> 软件包 python-paramiko.noarch.0.2.1.1-9.el7 将被 安装
--> 正在处理依赖关系 python2-pyasn1,它被软件包 python-paramiko-2.1.1-9.el7.noarch 需要
---> 软件包 python-passlib.noarch.0.1.6.5-2.el7 将被 安装
---> 软件包 python-setuptools.noarch.0.0.9.8-7.el7 将被 安装
--> 正在处理依赖关系 python-backports-ssl_match_hostname,它被软件包 python-setuptools-0.9.8-7.el7.noarch 需要
---> 软件包 python2-cryptography.x86_64.0.1.7.2-2.el7 将被 安装
--> 正在处理依赖关系 python-idna >= 2.0,它被软件包 python2-cryptography-1.7.2-2.el7.x86_64 需要
--> 正在处理依赖关系 python-cffi >= 1.4.1,它被软件包 python2-cryptography-1.7.2-2.el7.x86_64 需要
--> 正在处理依赖关系 python-ipaddress,它被软件包 python2-cryptography-1.7.2-2.el7.x86_64 需要
--> 正在处理依赖关系 python-enum34,它被软件包 python2-cryptography-1.7.2-2.el7.x86_64 需要
---> 软件包 python2-jmespath.noarch.0.0.9.0-3.el7 将被 安装
---> 软件包 sshpass.x86_64.0.1.06-2.el7 将被 安装
--> 正在检查事务
---> 软件包 python-babel.noarch.0.0.9.6-8.el7 将被 安装
---> 软件包 python-backports-ssl_match_hostname.noarch.0.3.5.0.1-1.el7 将被 安装
--> 正在处理依赖关系 python-backports,它被软件包 python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch 需要
---> 软件包 python-cffi.x86_64.0.1.6.0-5.el7 将被 安装
--> 正在处理依赖关系 python-pycparser,它被软件包 python-cffi-1.6.0-5.el7.x86_64 需要
---> 软件包 python-enum34.noarch.0.1.0.4-1.el7 将被 安装
---> 软件包 python-idna.noarch.0.2.4-1.el7 将被 安装
---> 软件包 python-ipaddress.noarch.0.1.0.16-2.el7 将被 安装
---> 软件包 python-markupsafe.x86_64.0.0.11-10.el7 将被 安装
---> 软件包 python2-pyasn1.noarch.0.0.1.9-7.el7 将被 安装
--> 正在检查事务
---> 软件包 python-backports.x86_64.0.1.0-8.el7 将被 安装
---> 软件包 python-pycparser.noarch.0.2.14-1.el7 将被 安装
--> 正在处理依赖关系 python-ply,它被软件包 python-pycparser-2.14-1.el7.noarch 需要
--> 正在检查事务
---> 软件包 python-ply.noarch.0.3.4-11.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决

==============================================================================================
 Package                                  架构        版本                 源            大小
==============================================================================================
正在安装:
 ansible                                  noarch      2.4.2.0-2.el7        extras       7.6 M
为依赖而安装:
 python-babel                             noarch      0.9.6-8.el7          base         1.4 M
 python-backports                         x86_64      1.0-8.el7            base         5.8 k
 python-backports-ssl_match_hostname      noarch      3.5.0.1-1.el7        base          13 k
 python-cffi                              x86_64      1.6.0-5.el7          base         218 k
 python-enum34                            noarch      1.0.4-1.el7          base          52 k
 python-httplib2                          noarch      0.9.2-1.el7          extras       115 k
 python-idna                              noarch      2.4-1.el7            base          94 k
 python-ipaddress                         noarch      1.0.16-2.el7         base          34 k
 python-jinja2                            noarch      2.7.2-2.el7          base         515 k
 python-markupsafe                        x86_64      0.11-10.el7          base          25 k
 python-paramiko                          noarch      2.1.1-9.el7          updates      269 k
 python-passlib                           noarch      1.6.5-2.el7          extras       488 k
 python-ply                               noarch      3.4-11.el7           base         123 k
 python-pycparser                         noarch      2.14-1.el7           base         104 k
 python-setuptools                        noarch      0.9.8-7.el7          base         397 k
 python2-cryptography                     x86_64      1.7.2-2.el7          base         502 k
 python2-jmespath                         noarch      0.9.0-3.el7          extras        39 k
 python2-pyasn1                           noarch      0.1.9-7.el7          base         100 k
 sshpass                                  x86_64      1.06-2.el7           extras        21 k
事务概要
==============================================================================================
安装  1 软件包 (+19 依赖软件包)

总下载量:12 M
安装大小:59 M
Downloading packages:
警告:/var/cache/yum/x86_64/7/base/packages/python-backports-1.0-8.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
python-backports-1.0-8.el7.x86_64.rpm 的公钥尚未安装
(1/20): python-backports-1.0-8.el7.x86_64.rpm                          | 5.8 kB  00:00:00     
(2/20): python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch.rpm   |  13 kB  00:00:00     
(3/20): python-enum34-1.0.4-1.el7.noarch.rpm                           |  52 kB  00:00:00     
(4/20): python-idna-2.4-1.el7.noarch.rpm                               |  94 kB  00:00:00     
(5/20): python-babel-0.9.6-8.el7.noarch.rpm                            | 1.4 MB  00:00:00     
(6/20): python-ipaddress-1.0.16-2.el7.noarch.rpm                       |  34 kB  00:00:00     
(7/20): python-markupsafe-0.11-10.el7.x86_64.rpm                       |  25 kB  00:00:00     
(8/20): python-cffi-1.6.0-5.el7.x86_64.rpm                             | 218 kB  00:00:00     
python-httplib2-0.9.2-1.el7.noarch.rpm 的公钥尚未安装
(9/20): python-httplib2-0.9.2-1.el7.noarch.rpm                         | 115 kB  00:00:00     
(10/20): python-ply-3.4-11.el7.noarch.rpm                              | 123 kB  00:00:00     
(11/20): python-jinja2-2.7.2-2.el7.noarch.rpm                          | 515 kB  00:00:00     
(12/20): python-pycparser-2.14-1.el7.noarch.rpm                        | 104 kB  00:00:00     
python-paramiko-2.1.1-9.el7.noarch.rpm 的公钥尚未安装       ] 2.2 MB/s | 4.8 MB  00:00:03 ETA 
(13/20): python-paramiko-2.1.1-9.el7.noarch.rpm                        | 269 kB  00:00:01     
(14/20): python-setuptools-0.9.8-7.el7.noarch.rpm                      | 397 kB  00:00:00     
(15/20): python2-jmespath-0.9.0-3.el7.noarch.rpm                       |  39 kB  00:00:00     
(16/20): python2-pyasn1-0.1.9-7.el7.noarch.rpm                         | 100 kB  00:00:00     
(17/20): python2-cryptography-1.7.2-2.el7.x86_64.rpm                   | 502 kB  00:00:01     
(18/20): python-passlib-1.6.5-2.el7.noarch.rpm                         | 488 kB  00:00:01     
(19/20): sshpass-1.06-2.el7.x86_64.rpm                                 |  21 kB  00:00:03     
(20/20): ansible-2.4.2.0-2.el7.noarch.rpm                              | 7.6 MB  00:00:05     
----------------------------------------------------------------------------------------------
总计                                                          2.1 MB/s |  12 MB  00:00:05     
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 检索密钥
导入 GPG key 0xF4A80EB5:
 用户ID     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
 指纹       : 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 软件包     : centos-release-7-5.1804.el7.centos.x86_64 (@anaconda)
 来自       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : python2-pyasn1-0.1.9-7.el7.noarch                                        1/20 
  正在安装    : python-ipaddress-1.0.16-2.el7.noarch                                     2/20 
  正在安装    : python-enum34-1.0.4-1.el7.noarch                                         3/20 
  正在安装    : python-httplib2-0.9.2-1.el7.noarch                                       4/20 
  正在安装    : sshpass-1.06-2.el7.x86_64                                                5/20 
  正在安装    : python-backports-1.0-8.el7.x86_64                                        6/20 
  正在安装    : python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch                 7/20 
  正在安装    : python-setuptools-0.9.8-7.el7.noarch                                     8/20 
  正在安装    : python-babel-0.9.6-8.el7.noarch                                          9/20 
  正在安装    : python2-jmespath-0.9.0-3.el7.noarch                                     10/20 
  正在安装    : python-passlib-1.6.5-2.el7.noarch                                       11/20 
  正在安装    : python-ply-3.4-11.el7.noarch                                            12/20 
  正在安装    : python-pycparser-2.14-1.el7.noarch                                      13/20 
  正在安装    : python-cffi-1.6.0-5.el7.x86_64                                          14/20 
  正在安装    : python-markupsafe-0.11-10.el7.x86_64                                    15/20 
  正在安装    : python-jinja2-2.7.2-2.el7.noarch                                        16/20 
  正在安装    : python-idna-2.4-1.el7.noarch                                            17/20 
  正在安装    : python2-cryptography-1.7.2-2.el7.x86_64                                 18/20 
  正在安装    : python-paramiko-2.1.1-9.el7.noarch                                      19/20 
  正在安装    : ansible-2.4.2.0-2.el7.noarch                                            20/20 
  验证中      : python-idna-2.4-1.el7.noarch                                             1/20 
  验证中      : python-markupsafe-0.11-10.el7.x86_64                                     2/20 
  验证中      : python-jinja2-2.7.2-2.el7.noarch                                         3/20 
  验证中      : python-ply-3.4-11.el7.noarch                                             4/20 
  验证中      : python-passlib-1.6.5-2.el7.noarch                                        5/20 
  验证中      : python2-jmespath-0.9.0-3.el7.noarch                                      6/20 
  验证中      : python-paramiko-2.1.1-9.el7.noarch                                       7/20 
  验证中      : python-babel-0.9.6-8.el7.noarch                                          8/20 
  验证中      : ansible-2.4.2.0-2.el7.noarch                                             9/20 
  验证中      : python-backports-1.0-8.el7.x86_64                                       10/20 
  验证中      : python-cffi-1.6.0-5.el7.x86_64                                          11/20 
  验证中      : python-ipaddress-1.0.16-2.el7.noarch                                    12/20 
  验证中      : sshpass-1.06-2.el7.x86_64                                               13/20 
  验证中      : python-httplib2-0.9.2-1.el7.noarch                                      14/20 
  验证中      : python2-pyasn1-0.1.9-7.el7.noarch                                       15/20 
  验证中      : python-enum34-1.0.4-1.el7.noarch                                        16/20 
  验证中      : python-pycparser-2.14-1.el7.noarch                                      17/20 
  验证中      : python-setuptools-0.9.8-7.el7.noarch                                    18/20 
  验证中      : python2-cryptography-1.7.2-2.el7.x86_64                                 19/20 
  验证中      : python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch                20/20 

已安装:
  ansible.noarch 0:2.4.2.0-2.el7                                                              

作为依赖被安装:
  python-babel.noarch 0:0.9.6-8.el7                                                           
  python-backports.x86_64 0:1.0-8.el7                                                         
  python-backports-ssl_match_hostname.noarch 0:3.5.0.1-1.el7                                  
  python-cffi.x86_64 0:1.6.0-5.el7                                                            
  python-enum34.noarch 0:1.0.4-1.el7                                                          
  python-httplib2.noarch 0:0.9.2-1.el7                                                        
  python-idna.noarch 0:2.4-1.el7                                                              
  python-ipaddress.noarch 0:1.0.16-2.el7                                                      
  python-jinja2.noarch 0:2.7.2-2.el7                                                          
  python-markupsafe.x86_64 0:0.11-10.el7                                                      
  python-paramiko.noarch 0:2.1.1-9.el7                                                        
  python-passlib.noarch 0:1.6.5-2.el7                                                         
  python-ply.noarch 0:3.4-11.el7                                                              
  python-pycparser.noarch 0:2.14-1.el7                                                        
  python-setuptools.noarch 0:0.9.8-7.el7                                                      
  python2-cryptography.x86_64 0:1.7.2-2.el7                                                   
  python2-jmespath.noarch 0:0.9.0-3.el7                                                       
  python2-pyasn1.noarch 0:0.1.9-7.el7                                                         
  sshpass.x86_64 0:1.06-2.el7                                                                 

完毕!
[root@localhost ~]# vim /etc/ansible/hosts


 添加被控端ip至主控端hosts文件末尾中,如下图

 

ansible all -m ping

主控端使用该命令进行验证,若正常则如下图。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值