zoukankan      html  css  js  c++  java
  • 实现自动SSH连接

    #!/usr/bin/expect  
    set timeout 10  
    set username [lindex $argv 0]  
    set password [lindex $argv 1]  
    set hostname [lindex $argv 2]  
    #set username ftpuser
    #set password ftpuser
    #spawn 模拟终端交互
    #ssh-copy-id将本机当前用户的ssh登录公钥copy到目标机器上
    # "*(yes/no)*" 返回内容包含yes/no,表示添加host到已知host
    #password 表示要输入目标机器的密码
    #"*please*","*Permission denied*" 错误,没法成功添加ssh公钥到目标机器
    #"*All keys were skipped*","*you wanted were added*" 已添加过,则直接跳过。
    
    spawn ssh-copy-id $username@$hostname
    expect {
                "*(yes/no)*" {
    				send "yes
    "; 
    				exp_continue;
    			}
    			
                "password:" {
                    send "$password
    ";
    				exp_continue;
                }
    			"*please*" { exit 5 }
    			"*All keys were skipped*" { exit }
    			"*you wanted were added*" {exit }
    			"*Permission denied*" { exit 6 }
            }
    expect eof
    
    #1.保存上面的代码为sh文件,并设置文件具有执行权限
    #2.如下使用
    ./auto_ssh.sh "username" "passpord" "ip"
    
  • 相关阅读:
    Widget Factory
    233 Matrix
    青蛙的约会
    Longge's problem
    密码解锁
    SQFREE
    GCD
    [WC2011]最大XOR和路径
    [HNOI2011]XOR和路径
    [ZJOI2010]排列计数
  • 原文地址:https://www.cnblogs.com/calvinK/p/9083567.html
Copyright © 2011-2022 走看看