zoukankan      html  css  js  c++  java
  • expect批量分发密钥对

    vim shell.exp

    #!/usr/bin/expect
    
    set timeout 10
    set hostname [lindex $argv 0]
    set username [lindex $argv 1]
    set password [lindex $argv 2]
    
    spawn ssh-copy-id $username@$hostname
    
    expect {
                "Are you sure you want to continue connecting (yes/no)?" {
                send "yes
    "
                expect "*password:"
                send "$password
    "
                }
    
                "*password:" {
                send "$password
    "
                }
                "Now try logging into the machine" {
                }
            }
    expect eof
    

    一个bash搞定,完犊子

    在bash中,用expect -c "" 把expect语句包起来,将expect -c "" 中的双引号加上反斜杠

    #!/bin/bash
    
    USER=root
    PASSWD=1233
    
    # yum install -y expect
    
    for HOST in 192.168.1.{1..10}
    do
            echo "------------------>" $HOST "-----------------------------"
    /usr/bin/expect -c "
    spawn ssh-copy-id $USER@$HOST;
    expect {
                "Are you sure you want to continue connecting (yes/no)?" {
                send "yes
    "
                expect "*password:"
                send "$PASSWD
    "
                }
    
                "*password:" {
                send "$PASSWD
    "
                }
                "Now try logging into the machine" {
                }
            }
    expect eof
    "
    done
    
  • 相关阅读:
    构建之法阅读笔记05
    构建之法阅读笔记04
    构建之法阅读笔记03
    学习进度条
    软件工程练习——买书
    软件工程练习——找水王2
    Java作业07
    Java课堂作业06
    读《大道至简》第六章有感
    Java课堂作业05
  • 原文地址:https://www.cnblogs.com/LyShark/p/10887033.html
Copyright © 2011-2022 走看看