zoukankan      html  css  js  c++  java
  • [svc]ssh批量分发key/批量用户管理

    centos6 sshpass批量分发key

    yum install sshpass -y
    
    ssh-keygen -t dsa -f ~/.ssh/id_dsa -P ""
    
    命令说明:
    ssh-keygen:生成密钥对命令
        -t:指定密钥对的密码加密类型(rsa,dsa两种)
        -f:指定密钥对文件的生成路径包含文件名
        -P(大写):指定密钥对的密码
        
    - centos6可以,7好像有问题
    sshpass -p123456 ssh-copy-id -i /root/.ssh/id_rsa.pub "-o StrictHostKeyChecking=no root@192.168.14.12"
    
    
    - 批量脚本
    #!/bin/bash
    . /etc/rc.d/init.d/functions
    
    yum install sshpass -y  >/dev/null
    # 创建密钥
    
    m ~/.ssh/id_rsa* -f
    ssh-keygen -t rsa -f ~/.ssh/id_rsa -N "" -q
    # 分发公钥
    for ip in 61 21 51 31 41 8 7 9 5 6 
    do
    sshpass -p123456 ssh-copy-id -o "StrictHostKeyChecking no"  -i /root/.ssh/id_rsa.pub 192.168.1.$ip &>/dev/null
    if [ $? -eq 0 ];then
    action  "fenfa 192.168.1.$ip"  /bin/true
    else
    action  "fenfa 192.168.1.$ip"  /bin/false
    fi
    echo ""
    done
    

    脚本密钥的批量分发与执行
    ssh密钥创建分发(端口号非22)&脚本实现自动创建分发密钥

    ansible批量管理用户

    - centos7修改密码
    $ ansible all -m shell -a 'echo apps:ABCedf123 | chpasswd'
    
    - centos6修改密码
    $ ansible all -m shell -a 'echo ABCedf123 | passwd --stdin apps'
    
    - 批量做互信(7上也不太好用): https://www.linuser.com/forum.php?mod=viewthread&tid=45
    $ ansible all -m authorized_key -a "user=root state=present key="{{ lookup('file', '/root/.ssh/id_rsa.pub') }}"" -k
    
    [无密码验证,批量分发]
    1、所有机器均需创建用户及密码
    useradd distribution
    echo 123456|passwd --stdin distribution
    2、管理机创建密钥(创建密钥命令:ssh-keygen -t dsa)
    非交换式创建密钥:
    echo -e "
    "|ssh-keygen -t dsa -N "" 
    或:ssh-keygen -t dsa -P ‘’ -f ~/.ssh/id_dsa
    3、管理机分发密钥
    ssh-copy-id -i .ssh/id_dsa.pub "-p 端口 账号@IP"
    4、编写脚本(服务安装、优化、批量创建账号密码)使用ssh远程连接并执行命令达到批量管理的目的
    
    
    
    
    ssh user@host 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_dsa.pub
    这条命令由多个语句组成,依次分解开来看:
    (1)"$ ssh user@host",表示登录远程主机;
    (2)单引号中的mkdir .ssh && cat >> .ssh/authorized_keys,表示登录后在远程shell上执行的命令:
    (3)"$ mkdir -p .ssh"的作用是,如果用户主目录中的.ssh目录不存在,就创建一个;
    (4)'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub的作用是,将本地的公钥文件~/.ssh/id_rsa.pub,
         重定向追加到远程文件authorized_keys的末尾。
    
    
  • 相关阅读:
    于丹的婚姻观
    相貌与成功的关系—俞敏洪6月2号在同济大学的演讲
    NetBeans IDE 6.9.1 发布
    NetBeans IDE 6.9.1 发布
    NetBeans 时事通讯(刊号 # 112 Aug 05, 2010)
    VS Feature Pack学习之使用CMFCMenuBar自定义菜单栏
    使用 Apache Wink、Eclipse 和 Maven 开发 RESTful Web 服务
    Have to run sudo dhclient eth0 automatically every boot
    java regex
    HTTPCLIENT 解决乱码方案 linfeng_0212的日志 网易博客
  • 原文地址:https://www.cnblogs.com/iiiiher/p/8583967.html
Copyright © 2011-2022 走看看