zoukankan      html  css  js  c++  java
  • expect免交互用法

    一、ssh免交互远程连接linux服务器

      ssh在远程连接linux系统时,会有交互,比如输入yes/no,或者需要输入密码。我们怎么避免这些交互呢!比如我们可以用telnet远程登录交换机,去备份交换机的配置,如果每一台都要手动输入密码,在有很多台交换机的情况下,这些交互就会显得很繁琐,或者我们需要自动备份这些交换机,在写脚本的时候也需要避免这些交互。现在我们来用expect这个工具来避免这些交互。

    1.1、安装expect

    命令:

    1 [root@client yck]# yum -y install expect
    2 [root@client yck]# rpm -q expect
    3 expect-5.45-14.el7_1.x86_64
    4 [root@client yck]# 
    5 [root@client yck]# 

     1.2、远程登录linux系统的脚本

    脚本:

    1 #!/usr/bin/expect                                           #制定expect解释器
    2 set ip [lindex $argv 0]                                    #创建变量ip,并指定第一个位置变量        
    3 spawn ssh root@$ip                                      #spawn创建一个回话,root用户远程连接
    4 expect {
    5         "yes/no" { send "yes
    ";exp_continue }  #捕捉到“yes/no”,就发送指令yes,
    表示回车,ex_continue表示没有捕捉到“yes/no”,继续下一步
    6         "password:" { send "admin@1234
    " };   #捕捉到"password:",就发送“密码+7 }
    8 interact                                                           #保持连接,不退出ssh    
    9             

    1.3、测试远程连接是否还有交互

  • 相关阅读:
    将表中数据生成SQL语句
    遍历页面所有的控件
    MSN不能登陆
    刷新框架页
    JS传参出现乱码
    iframe攻击
    有关于VS调试Javascript的问题
    C#中StringBuilder类的使用
    前瞻XAML
    Asp.Net在SqlServer中的图片存取
  • 原文地址:https://www.cnblogs.com/mython/p/11934983.html
Copyright © 2011-2022 走看看