脚本_使用expect自动交互远程主机安装软件

#!bin/bash
#功能:使用expect工具自动交互密码,远程到其它主机,安装httpd软件
#作者:liusingbon
#删除~/.ssh/known-hosts后,ssh远程任何主机,系统都会询问是否确认要连接到该主机
rm -rf ~/ssh/known_hosts
expect <<EOF  #下一行开始,所有字符都按照指定格式存入expect,知道遇见EOF为止.
spawn ssh 192.168.4.254   #例如远程到该主机
expect "yes/no" {send "yes\r"}
expect "password"  {send "密码\r"}   #根据自己的实际情况,将"密码"修改为真实的密码字串
expect "#"         {send "yum -y install httpd\r"}
expect "#"         {send "exit\r"}
EOF

原文地址:https://www.cnblogs.com/liusingbon/p/11042367.html

时间: 2024-09-30 14:21:37

脚本_使用expect自动交互远程主机安装软件的相关文章

自动交互脚本之expect

一.Expect简介 在远程服务器执行某项任务,这是最正常不过了,如何有效自动的执行呢?这里介绍自动交互脚本expect的使用. Expect是一个简单的工具语言,功能就是进行自动化的人机交互.它的作者对Expect的定义:是一个实现自动交互功能的软件套件(a software suite for automating interactive tools),使用expect,它能帮助我们在合适的情景下进行合适的交互. Expect是一种能够按照脚本内容里面设定的方式与交互式程序进行"会话&quo

自动化运维脚本语言之expect实践学习(1)

一.expect简介 expect是一种简单的基于Tcl的脚本语言工具,一个可实现自动交互功能的软件套件,其功能就是进行自动化的人机交互:也能够按照脚本内容里面设定的方式与交互式程序进行"会话"的程序,根据脚本内容expect可以知道程序会提示或反馈什么内容以及什么是正确的应答:它是一种可以提供"分支和嵌套结构"来引导程序流程的解释型脚本语言. shell功能虽然强大,但是不能实现有交互功能的多机器之间的操作例如ssh和ftp,而expect可以帮助我们来实现. 主

expect 实现交互(未完成)

expect介绍 expect命令是一个实现交互功能的软件套件,是基于TCL的脚本编程语言,在企业运维中,系统会以交互的形式要求运维人员输入指定的字符串,之后才能继续执行命令.例如:为用户设置密码时,一般情况下需要手工输入两次密码,比如使用ssh连接远程服务器时,第一次连和系统实现两次交互. 简单的说,expect用来自动实现与交互程序通信的,无需管理员手工干预 spawn启动指定进程>expect获取期待的关键字>send向指定进程发送字符>进程执行完毕,退出 expect  表达式 

expect 自动化交互软件

一.expect简介 expect是基于TCL的相对简单的一种免费的脚本编程工具语言,用来实现自动和交互式任务程序进行通信,无需人的手工干预,如:SSH.FTP等.这些程序正常情况下都需要手工进行交互,而使用expect就可以模拟人手工交互的过程,实现自动和远端程序的交互,从来达到自动化运维的目的. 官方解释:expect是一个用来实现自动交互功能的软件套件(expect is a software suite for automating interactive tools) expect支持

Expect 自动交互式程序

1. Expect 自动交互式程序介绍及安装 1.1 Expect 介绍 Expect 是一个用来实现自动化交互功能的软件套件. 1.2 为什么使用 Expect 在现今的企业运维中,自动化运维已经成为运维的主流趋势,但是在很多情况下,执行系统命令或程序时,系统会以交互式的形式要求运维人员输入指定的字符串,之后才能继续执行命令.例如: ① 为用户设置密码时,一般情况下就需要手工输入两次密码 ② 使用 SSH 远程连接服务时,第一次连接要和系统实现两次交互式输入: 简单地说,Expect 就是用来

shell进阶——expect免交互工具的使用

前言: expect是什么? 答:expect 是由Don Libes基于Tcl(Tool Command Language )语言开发的,主要应用于自动化交互式操作的场景,是一个免费的编程工具,用来实现自动的交互式任务,而无需人为干预.说白了,expect就是一套用来实现自动交互功能的软件. expect能做什么? 答:借助expect处理交互的命令,可以将交互过程如:ssh登录,ftp登录等写在一个脚本上,使之自动化完成.尤其适用于需要对多台服务器执行相同操作的环境中,可以大大提高系统管理人

AUTOIT解决域控普通用户以管理员身份安装软件方法

windows域管理,本是很好的管理方式,方便的软件分发,权限控制等功能.不过由于我处软件分发总有那么一些电脑没有成功安装,或是新装的电脑安装软件时漏了安装一些软件,而这些软件需要管理员权限安装的,用户使用过程中发现却什么软件.补丁自己安装就是了.为此,找了网上的一些文章后决定用AUTOIT这个软件写个脚本,让用于自动运行补丁或软件安装,不用管理员协助安装. 在网上下载AUTOIT,安装也很简单,我写的脚本也很简单,主要是用runas命令: 编译好exe可执行程序后,用WINRAR打包,再用wi

expect 实现自动交互脚本

1. 说明 在编写脚本时,可能会遇到需要在另一台主机上执行一个命令,或者在本机拷贝另一台主机内的一个文件.如果两台主机之间没有做互信,就会牵扯到用户输入密码的交互过程,这对编写自动脚本来说, 就行不通了. 要实现在脚本内的自动交互,就需要 expect 2.  expect 命令介绍 expect 是一个用来处理交互的命令.借助 expect 可以将交互过程写在一个脚本里,就可以实现自动化完成.上面的问题也能得到解决. 形象来说,如下命令的交互都能得到解决: ssh scp ftp CentOS

expect实现脚本的 自动交互

1.需求 最近需要使用scp自动将本地服务器的文件拷贝到远程服务器上; 2.安装expect #安装expect前,需要安装tcl环境 yum -y install tcl yum -y install expect 3.expect脚本 #!/usr/bin/expect set passwd "xxxx" set ip "192.168.x.xxx" set username "scpuser" #不论是在此脚本内自动输入密码还是在脚本外手工