• 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 root@123.56.221.190  
    此时就可以将公钥发送到被管理的服务器上了:
    注意:
    sshpass : ssh的一个免交互式工具
    -p      : 指定客户端登录的密码
    ssh-copy-id :自动分发公钥的工具
    -i : 指定本机公钥的路径
    -o :  StrictHostKeyChecking=no 第一次链接会在know_hosts文件里面写入,这里指不对信息写入。
    
    编写批量分发密钥的脚本,首先我们这里需要假定所有的客户端都使用root账户,而且root账户的密码
    都是相同的。
    
    #!/bin/bash
    '''
    description:  ssh密钥批量分发
    author:       fengjunhua
    date2018-4-27
    使用,将ip随便写入到一个文件里面,指定脚本./ssh_copy.sh 文件名
    '''
    password=#客户端服务器密码
    
    for ip in `cat $1`
    do
        echo "Test $IP if is alive"
        ping $ip -c1 &>/dev/null
        if [ $? -gt 0 ];then
            echo "$ip 无法ping通"
            continue
        else
            echo "在分发密钥"
            sshpass -p "$password" ssh-copy-id -i /root/.ssh/id_dsa.pub -o StrictHostKeyChecking=no root@{$ip} &>/dev/null
            echo "$ip 密钥分发成功"
        fi
    done
  • 相关阅读:
    jsp三种注释方法
    MyEclipse 2015优化技巧
    查看是否安装jdk及路径
    hibernate中save()、get()、load()、update()、saveorupdate()、merge()等方法
    MyEclipse更改项目名web发布名字不改问题
    try-catch-finally try中有rerun 是否执行finally
    使用HTML制作网页
    rs(0)与rs("字段名")的区别
    金蝶K3 wise 插件二次开发与配置
    初识触发器(2)
  • 原文地址:https://www.cnblogs.com/fengjunhua/p/8962974.html
Copyright © 2020-2023  润新知