ssh密钥分发与ansible部署指南

当我们公司的服务器达到几十台或几百台或更高的时候,利用批量管理工具管理系统是我们要做的

常用的批量管理工具有ansible,stalstack.

那首先我们要实现管理机对所有服务器的免密钥登录---ssh-key

#管理机生成密钥对

[[email protected] ~]# ssh-keygen -t dsa             #-t指定加密的方式,默认为rsa

#提示生成的密钥放在/root/.ssh/id_dsa
#提示是否给生成的密钥再加密一次,回车即可
#让你再确认一次,回车即可。

[[email protected] ~]# ll /root/.ssh/
total 12
-rw-------. 1 root root  668 Mar  8 09:44 id_dsa            #生成后的私钥文件
-rw-r--r--. 1 root root  598 Mar  8 09:44 id_dsa.pub        #公钥文件
-rw-r--r--. 1 root root 1192 Mar  7 21:41 known_hosts

#非交互式生成秘钥对

方法1:ssh-keygen -t dsa -P ‘‘ -f ~/.ssh/id_dsa >/dev/null 2>&1
方法2:echo -e "\n"|ssh-keygen -t dsa -N "" &> /dev/null

#第二个里程碑
#把公钥发送到机器上

[[email protected] .ssh]# ssh-copy-id -i /root/.ssh/id_dsa.pub [email protected]172.16.1.41

第一次连接要输入yes,记录主机名跟IP,然后输出对方的密码即可

[[email protected] .ssh]# ssh 172.16.1.41
Last login: Wed Mar  8 09:41:17 2017 from 10.0.0.253

#公钥发送过去之后,登录对方的机器不用密码了。

#非交互式发送密码

yum install sshpass -y

#用脚本批量给服务器发送密钥

#!/bin/bash
passwd=123456
IP_ADDR="31 41 5 51 6 7 8 120"
. /etc/init.d/functions
# 一键生成密钥
if ! [ -f ~/.ssh/id_dsa.pub ];then
    ssh-keygen -t dsa -P ‘‘ -f ~/.ssh/id_dsa >/dev/null 2>&1
    echo -e "\033[32m======Local=========\033[0m"
    action "Generate the key!"  /bin/true
fi

# 批量发送密钥
   for i in $IP_ADDR;do
      sshpass -p$passwd ssh-copy-id -i /root/.ssh/id_dsa.pub "-o StrictHostKeyChecking=no 172.16.1.${i}"  >/dev/null 2>&1

      if [ $? == 0 ];then
          echo -e "\033[32m=========`ssh 172.16.1.$i hostname`==========\033[0m"
          action  "发送成功!!!" /bin/true
      else
          echo -e "\033[31m======172.16.1.$i=======\033[0m"
          action  "发送失败!!!" /bin/false
      fi
   done

开始安装ansible
搭建yum仓库,定制rpm包是自动化运维关键内容,先保留yum安装的软件:

sed -i.bak ‘s#keepcache=0#keepcache=1#g‘ /etc/yum.conf
grep keepcache /etc/yum.conf
keepcache=1

管理机m01安装ansible
需要先安装epel源

##wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

yum install ansible -y

所有被管理端需要安装:

yum install libselinux-python -y
rpm -qa libselinux-python

ansible配置文件/etc/ansible/hosts

原创作品,转载请注明出处。http://www.cnblogs.com/Csir/

时间: 2024-12-24 22:56:57

ssh密钥分发与ansible部署指南的相关文章

关于ssh密钥分发的简单脚本

1.生成密钥和分发公钥的两条命令 ssh-keygen -t rsa|dsa -P '' ssh-copy-id -i ~/.ssh/id_dsa.pub "-p2222 [email protected]" 2.使用expect的简单分发脚本,实现自动交互 ###shell scripts powered by troy### #!/bin/bash ##deliver pubkey## dsa_pub_key="/home/troy/.ssh/id_dsa.pub&quo

SSH密钥分发

1.环境准备 [[email protected] 7 ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [[email protected] 7 ~]# uname -r 3.10.0-327.el7.x86_64 [[email protected] 7 ~]# getenforce Disabled [[email protected] 7 ~]# systemctl status firewalld.serv

SSH批量分发与管理

一.SSH服务介绍 SSH是Secure Shell Protocol的简写,由IETF网络工作小组制定:在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后再进行数据传输,确保了传递的数据安全. SSH是专为远程登录会话和其他网络服务提供的安全性协议.利用SSH协议可以有效的防止远程管理过程中的信息泄露问题,在当前的生产环境当中,绝大多数企业普遍采用SSH协议服务来代替传统的不安全的远程联机服务软件.如telnet等. SSH服务结构: SSH服务是由服务端软件OpenSS

《Ansible权威指南》笔记(1)——安装,ssh密钥登陆,命令

2016-12-23 读这本<Ansible权威指南>学习ansible,根据本书内容和网上的各种文档,以及经过自己测试,写出以下笔记.另,这本书内容很好,但印刷错误比较多,作者说第二版会改进,还没买的小伙伴们可以买第二版. 一.安装1.安装要求:控制服务器:需要安装Python2.6/2.7被管理服务器:需要安装Python2.4 以上版本,若低于Python2.5 需要安装pythonsimplejson;若启用了selinux,则需要安装libselinux-python 2.yum安装

ansible 部署ssh 偶尔巨慢的解决方法

ansible 部署ssh 偶尔巨慢,以前没留意,今天实在登录不上了,于是专门来解决下. ssh [email protected] -vvvv debug 调试: 修改 /etc/ssh/ssh_config 配置参数,不是/etc/ssh/sshd_config !!!修改本机的客户端配置文件ssh_conf,注意,不是sshd_conf 前后效果对比图: 知识补充: GSSAPI ( Generic Security Services Application Programming Int

ssh密钥的分发之一:ssh-copy-id

ssh密钥的分发 我们在使用客户端账号对主机记性管理的时候,可以分为以下两种情况: 1.第一种情况,直接使用root账号: 优点:使用root账号密钥分发简单,指令执行简单 缺点:不安全 2.第二种情况,使用普通用户账号: 优点:比较安全 缺点:配置比较复杂,命令执行的时候也比较复杂. 这里因为是测试环境,我们选择第一种情况,直接使用root账号来远程管理主机. ssh密钥的分发这里我们有多种方式: 1.第一种,直接使用ssh自带的密钥分发工具命令ssh-copy-id: ssh-copy-id

ssh密钥分发之二:使用sshpass配合ssh-kopy-id编写脚本批量分发密钥:

使用sshpass配合ssh-kopy-id编写脚本批量分发密钥: 首先sshpass是一个ssh连接时的免交互工具,首先要安装一下: yum install sshpass -y 接下来我们就可以使用sshpass工具了,一条命令形式分发ssh公钥: sshpass -p "ssh登录密码" ssh-copy-id -i /root/.ssh/id_dsa.pub -o StrictHostKeyChecking=no [email protected]123.56.221.190

001.Ansible部署RHCS存储集群

一 前期准备 1.1 前置条件 至少有三个不同的主机运行monitor (MON)节点: 至少三个直接存储(非外部SAN硬件)的OSD节点主: 至少两个不同的manager (MGR)节点: 如果使用CephFS,则至少有两个完全相同配置的MDS节点: 如果使用Ceph对象网关,则至少有两个不同的RADOSGW节点. 一个部署节点,可以使用ceph-ansible包中的Ansible剧本来部署和配置集群. 提示:Red Hat Ceph存储还支持在Red Hat OpenStack平台计算节点上

Spark1.0.0部署指南

1 节点说明   IP Role 192.168.1.111 ActiveNameNode 192.168.1.112 StandbyNameNode,Master,Worker 192.168.1.113 DataNode,Master,Worker 192.168.1.114 DataNode,Worker HDFS集群和Spark集群之间节点共用. 2 安装HDFS 见HDFS2.X和Hive的安装部署文档:http://www.cnblogs.com/Scott007/p/3614960