zoukankan      html  css  js  c++  java
  • 多主机ssh互信

    生成密钥并分发公钥,满足ansible环境的授信关系,把所有主机的ip、用户名、密码都加进来

    # cat init_key.py

    #! /usr/bin/env python # coding: utf-8 ########################################################### # description: 生成密钥并分发公钥,把所有主机的ip、用户名、密码都加进来 ########################################################### import os #安装expect及依赖 os.system("rpm -ivh --force /ops/soft/system_base/tcl-8.5.13-8.el7.x86_64.rpm") os.system("rpm -ivh --force /ops/soft/system_base/expect-5.45-14.el7_1.x86_64.rpm") os.system("python /ops/generate_rsa_key.py") os.system("/usr/bin/expect /ops/send_public_keys.expect 10.100.2.42 '123.abc'") os.system("/usr/bin/expect /ops/send_public_keys.expect 10.100.2.33 '123.abc'") os.system("/usr/bin/expect /ops/send_public_keys.expect 10.100.2.29 '123.abc'")


    # cat /do1cloud/devops/bin/generate_rsa_key.py
    #! /usr/bin/env python
    # coding: utf-8
    ###########################################################
    # description: 生产秘钥
    ###########################################################

    import os

    os.system('/bin/ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa')



    cat /ops/send_public_keys.expect
    #!/usr/bin/expect

    ###########################################################
    # description: 公钥发布到其他机器上
    ###########################################################

    set timeout 10
    set remote_hostname [lindex $argv 0]
    set password [lindex $argv 1]

    spawn ssh-copy-id root@$remote_hostname
    expect {
    "(yes/no)?"
    {
    send "yes "
    expect "*assword:" { send "$password "}
    }
    "*assword:"
    {
    send "$password "
    }
    }

    expect eof

  • 相关阅读:
    PHP $_SERVER
    一年成为Emacs高手(像神一样使用编辑器)
    mysql 加入列,改动列,删除列。
    傅立叶变换的深入理解(转帖)
    Java Swing 探索(一)LayoutManager
    Word2007怎样从随意页開始设置页码 word07页码设置毕业论文
    IIS7 和IIS8.0 HTTP 错误 500.19
    JAVA基于AE调用GP实现泰森多边形
    Servlet 第六课: Session的使用
    ORM框架
  • 原文地址:https://www.cnblogs.com/52py/p/14172668.html
Copyright © 2011-2022 走看看