- 浏览: 253247 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (298)
- 工作感悟 (6)
- java基础 (23)
- 计算机硬件知识 (1)
- 计算机网络知识 (2)
- Struts (3)
- Srping (4)
- hibernate (0)
- ibatis (0)
- webservice (4)
- Thread (22)
- maven (5)
- ubuntu/linux/centos/redhat (46)
- SSO (1)
- ESB (0)
- 工作流 (0)
- oracle (15)
- 云计算 (1)
- hadoop (1)
- nosql (0)
- mysql (3)
- sqlserver (0)
- jquery (0)
- 分布式 (3)
- 集群 (0)
- 设计模式 (2)
- EJB (0)
- map (0)
- cache (5)
- Niginx+varnish+squid+Ats (14)
- Apache (0)
- 工作/职业规划 (0)
- Scala & Groovy (1)
- English (4)
- 数据结构/算法 (6)
- 开发工具 (5)
- 测试 (2)
- Exception (0)
- 定时器 (3)
- j2ee (2)
- 部署 (1)
- Openssl (1)
- 操作系统 (3)
- kvm (13)
- libvirt (5)
- PostgreSql (5)
- 虚拟化 (3)
- 概念理解 (1)
- virt-manager (1)
- RESTful (3)
- 其它 (4)
- ssh2 (14)
- windows (1)
- 房产 (2)
- svn (1)
- 手机 (1)
- ant (1)
- flume (2)
- sqoop (1)
- fastdfs (5)
- log4j (1)
- SPDY (1)
- mongodb (2)
- MQ (2)
- Mina (1)
- dubbo (4)
- PMP (1)
- Webshpere (2)
- jvm (1)
- Btrace (1)
- zookeeper (7)
- UML (1)
- spring cloud (6)
- spring boot (5)
- storm (0)
- 软件管理 (1)
- elasticsearch (1)
- 协议 (2)
- docker (1)
- 性能 (2)
- 安全 (1)
- 代码规范 (1)
- mqtt (1)
- lombok (1)
- 车联网 (1)
- kafka (1)
最新评论
首先要安装tcl,expect
下面是Linux下ssh自动交互的例子:
#!/usr/bin/expect -f
spawn ssh username@hostname
expect "*?assword:*"
send "11111\r"
expect "*>"
send "ls\r"
expect "*>"
send "exit\r"
interact
例子中的username@hostname为远程用户名和主机名
将上面的文件保存为test.sh
运行: ./test.sh
很多朋友往往会遇到spawn : command not found 等错误
如何解决呢,可以尝试1.将test.sh的属性改为可运行 chmod a+x test.sh
2.用./test.sh方式运行,不要用sh test.sh方式运行。
下面是Linux下ssh自动交互的例子:
#!/usr/bin/expect -f
spawn ssh username@hostname
expect "*?assword:*"
send "11111\r"
expect "*>"
send "ls\r"
expect "*>"
send "exit\r"
interact
例子中的username@hostname为远程用户名和主机名
#!/usr/bin/expect -f set pasword "123456" set myPassword "710652627keke" spawn ssh-add /home/zhangjun/.ssh/id_dsa_112 expect { "*passphrase" {send "$pasword\r"} } spawn ssh-add /home/zhangjun/.ssh/id_dsa.106 expect { "*passphrase" {send "$myPassword\r"} } interact
将上面的文件保存为test.sh
运行: ./test.sh
很多朋友往往会遇到spawn : command not found 等错误
如何解决呢,可以尝试1.将test.sh的属性改为可运行 chmod a+x test.sh
2.用./test.sh方式运行,不要用sh test.sh方式运行。
发表评论
-
通过expect,读取配置文件,批量ssh-add
2013-10-29 09:16 10381.配置文件(多台宿主机) id_dsa.txt id_dsa ... -
批量部署ssh认证
2013-10-28 16:10 859批量部署ssh认证 我想 ... -
ssky-keygen + ssh-copy-id 无密码登陆远程LINUX主机
2013-10-28 15:49 323使用下例中ssky-keygen和ssh-copy-id,仅需 ... -
ubuntu下添加各种类别的启动项
2013-10-25 10:55 554原文地址:http://www.cnblo ... -
2010-08-30 19:00 linux下添加自动启动项
2013-10-25 10:37 569首先写好脚本,如 mysql,把它放到 /etc/init.d ... -
ubuntu 添加开机自动运行脚本
2013-10-25 10:26 5941.编写shell脚本 gedit /etc/init.d/m ... -
最新SSH自动登录方案(RSA)
2013-10-25 08:51 823一. 前言 直接使用ssh连接到服务器时,需要手动输入 ... -
ssh密钥管理和认证代理
2013-10-24 15:46 820ssh密钥管理和认证代理 ... -
CentOS通过Ssh连接缓慢的问题
2013-10-24 15:31 502之前安装系统使用了CentOS,发现安装之后ssh速度 ... -
解决 Agent admitted failure to sign using the key 问题 with ssh
2013-10-23 10:36 591配置ssh 之前要在本机上装上ssh,可以通过sudo ap ... -
Java SSH远程执行Linux Shell脚本实现(转)
2013-10-11 15:25 1038此程序需要ganymed-ssh2-build210.jar包 ... -
ubuntu 默认防火墙安装、启用、查看状态
2013-10-10 12:05 649ubuntu 9.10默认的是UFW防火墙,已经支持界面操作了 ... -
ssh2的两种java实现
2013-09-29 14:58 1259SSH2的两种java实现,jcraft和Ganymed,终于 ...
相关推荐
expect是一个自动化交互套件,主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信
基于expect自动交互完成批量服务器磁盘空间使用量的查询脚本(使用前请先安装expect),文件包含一个 ip列表文件ipList 可执行脚本disk.sh expect脚本 解压并赋予可执行权限,更改ipList文件内的ip和密码,执行fdik....
用Expect实现Linux自动远程登陆.pdf
利用EXPECT实现路由器自动配置.pdf
linux下的expect的简单用法及举例
工作中需要对几十台服务器做互信,无意中发现expect命令,研究一番。 expect命令在自动交互中很好用。 压缩包包含安装步骤,安装包,以及 自动互信脚本。
今天小编就为大家分享一篇关于Linux下使用expect命令编写自动化交互脚本,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
昨天一个网友问如何能够将输入密码的工作在shell里面自动完成,研究了一下,发现这种交互式的工作,普通的shell实现不了,据说可以借助expect来搞定,所以初步学习了一下expect,成果和大家分享一下: 应用一: 实现...
linux下交互式命令expect使用方法
我们通过Shell可以实现简单的控制流功能,如:循环、...下面这篇文章主要给大家介绍了关于利用expect命令实现Shell自动化交互的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
expect是一个基于Tcl的用于自动交互操作的工具语言,它适合用来编写需要交互的自动化脚本,比如上面提到的SSH输入...下面这篇文章主要给大家介绍了关于Linux expect实现自动登录脚本的相关资料,需要的朋友可以参考下。
linux自动化管理的必备工具,或许你需要perl,但个人觉得expect更好,针对性强。
Expect的作者有如下定义:Expect是一个用来实现自动交互功能的软件套件(Expect [is a] software suite for automating interactive tools)。使用它系统管理员的可以创建脚本用来实现对命令或程序提供输入,而这些...
本篇文章给大家介绍在Linux中使用expect脚本实现远程机器自动登录,前提是要创建一个expec脚本ssh_expect,接下来定义一些命令别名等,下面跟着脚本之家小编一起学习学习吧
expect实现 shell 交互式网络命令,插件安装: tar xzvf expect5.45.tar.gz cd expect5.45 ./configure --prefix=/usr/expect --with-tcl=/usr/tcl/lib --with-tclinclude=../tcl8.4.11/generic make make install ...
expect是一个免费的编程工具,用来实现自动...而利用expect,则可以根据程序的提示,模拟标准输入提供给程序,从而实现自动化交互执行。这就是expect!!! 该资源包含expect5.45.tar.gz和tcl8.4.20-src.tar.gz压缩包
linux命令expect实现ssh登陆.docx
用来实现自动的交互式任务,无需人为干预。在实际开发中,运行shell脚本有时候会输入linux密码或者是mysql密码等,而expect可以帮我们输入。 二、安装 expect在linux系统中没有自带,需要我们自行安装,在Ubuntu系统...
MT7628 MT7621 已经编译好的expect,可以下载直接使用,免去交叉编译的麻烦 expect是一个免费的编程...而利用expect,则可以根据程序的提示,模拟标准输入提供给程序,从而实现自动化交互执行。这就是expect!!!