expect远程连接脚本

Expect是Unix/Linux系统中用来进行自动化控制和测试的软件工具,它是Tcl脚本语言的一个扩展,应用在交互式软件中如telnet,ftp,ssh,rsync等。下面是一个用expect脚本登录远程机器的示例:

#!/usr/bin/expect
set host [lindex $argv 0]
set passwd [lindex $argv 1]
spawn ssh root@$host
expect {
"yes/no" {send "yes\r";exp_continue}
"password:" {send "$passwd\r"}
}
interact

其中expect位于linux下的/usr/bin/目录下
set 是设置变量的指令 host和passwd都是变量
在shell脚本中$1表示第一个参数,$2表示第二个参数,但是在expect中
第一个参数用 [lindex $argv 0] 表示,第二个参数用 [lindex $argv 1]表示
spawn 后面跟的是shell命令
expect {}里是交互的过程
首次ssh登陆时会询问是否登陆,然后输入密码
exp_continue的作用是继续下一个交互
interact的作用是保持远程连接不退出

原文地址:https://blog.51cto.com/13670314/2369909

时间: 2024-11-11 06:16:58

expect远程连接脚本的相关文章

expect自动远程拷贝脚本

expect自动远程拷贝脚本,利用rsync命令,脚本内容如下: #!/usr/bin/expect -- proc Usage_Exit {self} { puts "" puts "Usage: $self ip user passwd port sourcefile destdir direction bwlimit timeout" puts "" puts " sourcefile: a file or directory t

登录远程服务器脚本

ssh登录远程服务器脚本 最近由于工作需要经常登录公司跳板机,每次登录都要输入账号密码,因此想到写一个脚本来自动登录 1)安装依赖包expect 查看当前环境是否有依赖包 whereis expect 如果没有需要使用以下命令安装(ubuntu下) sudo apt-get install expect 2)编写自动登录脚本login.sh #!/usr/bin/expect -f # 设置ssh连接的用户名 set user liuzz # 设置ssh连接的host地址 set host 8.

powershell远程连接

最近因为工作的需要看了看powershell相关的知识,个人总结了一点有关于powershell远程连接需要做的步骤,希望对别人有所帮助. 使用powershell远程连接,需要进行 设备的配置: 1. 开启ps远程管理:enable-psremoting -force (如果出现提示: 按 y 键 回车) 2.开启wrm的请求 : winrm quickconfig 客户端配置: 添加主机信任:Set-Item wsman:\localhost\Client\TrustedHosts -val

day 2远程连接Linux系统管理

IP端口-协议等基本概念 互联网上的计算机,都会有一个唯一的32位的地址,IP地址. 我们访问服务器.就必须通过这个IP地址. 局域网也有预留的IP地址 192/10/172开头.局域网的 IP地址也是唯一的. NAT模式,电脑属主机的IP在局域网是唯一的 ,选择了NAT模式创建虚拟机,虚拟机就是一个新的局域网(私有网络). 老师的机器IP 192.168.33.128 端口的简单概念 192.168.33.128代表一台主机,但是主机上可能会有很多服务. 一台主机上的不同服务功能,就是通过端口

Java通过SSH2协议执行远程Shell脚本(ganymed-ssh2-build210.jar)

 该工具Jar包可在:http://download.csdn.net/detail/shenjianox/7769783及文档下载地址 ganymed-ssh2简介: Ganymed SSH-2 for Java是用纯Java实现SSH-2协议的一个包.在使用它的过程中非常容易,只需要指定合法的用户名口令, 或者授权认证文件,就可以创建到远程Linux主机的连接,在建立起来的会话中调用该Linux主机上的脚本文件,执行相关操作. 使用方法: 将 ganymed-ssh2-build210.

使用jconsole远程连接linux监控jvm

1:在要监控的linux服务器上用vim打开tomcat的catalina.sh脚本文件,在第一行加入如下参数: JAVA_OPTS="-Djava.rmi.server.hostname=120.26.204.80 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management

解决不能远程连接Linux服务器上MySQL的问题

今天在实验室的服务器上安装MySQL,装好后却发现远程的电脑无法连接到MySql服务器.服务器操作系统是Ubuntu 14.04.于是在网上查了些资料,折腾了半天后终于搞定了,下面是具体的步骤. 1)安装好MySQL后,修改如下文件 sudo vim /etc/mysql/my.cnf[如果说你不太会用Vi编辑器,你可以用SSH登陆后,将文件移除手动更改后,在上传到服务器覆盖该文件即可] 找到bind-address = 127.0.0.1,将绑定地址改成你服务器的地址[就是你的服务器机器的ip

IIS7下配置SSAS通过HTTP远程连接

原文:IIS7下配置SSAS通过HTTP远程连接 安装环境操作系统:Windows7.Windows Server2008IIS版本:7.5 IIS7下配置SSAS通过HTTP远程连接详细的步骤如下:1.首先到分析服务器的SQLServer安装目录中找到如下目录和文件,路径如下:D:\Program Files\Microsoft SQL Server\MSAS10_50.MSSQLSERVER\OLAP\bin\isapi 2.在D盘新建一个olap文件,把上述的isapi内的所有东西全部co

Linux远程连接桌面笔记

Linux远程连接桌面笔记 vi 编辑完以后 输入: 输入 wq  保存并退出 目的:想要在Windows端图形远程连接Linux系统. 1,首先需要在Linux中安装VNCserver ,一般情况下系统默认已经安装 [[email protected] ~]# rpm -q vnc-server vnc-server-4.1.2-14.el5_5.4 如果没有安装,可以yum安装 [[email protected] ~]# yum install vnc-server 如果系统已经有了,执行