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、测试远程连接是否还有交互

  • 相关阅读:
    k8s管理
    Docker
    容器技术学习系列(一)-Docker基础知识学习
    Linux系统下DHCP服务安装部署和使用详解
    Linux下配置yum源为阿里云或网易的详解
    一道算法题目(1)
    SS命令和Netstat命令比较
    centos配置redis的主从复制(2)
    centos配置redis的主从复制(1)
    散列表(22)
  • 原文地址:https://www.cnblogs.com/mython/p/11934983.html
Copyright © 2011-2022 走看看