#!/usr/bin/expect -f
#设置超时时间
set timeout 3
#这里设置了跳板机的密码
set password "你的跳板机密码"
#连接跳板机
spawn ssh 用户名@跳板机IP#如果返回的内容包含*yes/no*,发送yes
expect "*yes/no*" {send "yes\n"}
#如果返回的内容包含"*password*",发送你设置的密码+\r(PS.这里的\r一定要加,是回车操作的意思。。。在网上搜了好多没有说明,一直以为是换行,没有加这个,结果一直执行不成功)
expect "*Password:*" {send "$password\r;"}
#登录跳板机成功,如果返回的内容包含"*你的跳板机的名称*",发送连接测试机的命令
expect "*能匹配跳板机名称的字符串*" {send "ssh 测试服务器的用户名@测试服务的IP\r";}
#同上面一样。。。注意interact是留在测试机上,给用户控制权限,如果不写会直接退出
expect "*Password:*" {send "你的密码\r";interact}
#保存为 login.sh 执行 expect login.sh
#终于不用手输两次密码了.....

首先MAC要安装expect( brew install expect),然后,编写上面的脚本文件保存,
保存为 login.sh 执行 expect login.sh
终于不用手输两次密码了.....

防止超时掉线的代码:

#!/usr/bin/expect -f
#首先MAC要安装expect( brew install expect),然后,编写下面的脚本文件保存
#设置超时时间
set timeout 1
#这里设置了跳板机的密码
set password "xxxxxx"
#连接跳板机
spawn ssh xxx#如果返回的内容包含*yes/no*,发送yes
expect "*yes/no*" {send "yes\n"}
#如果返回的内容包含"*password*",发送你设置的密码+\r(PS.这里的\r一定要加,是回车操作的意思。。。在网上搜了好多没有说明,一直以为是>换行,没有加这个,结果一直执行不成功)
expect "*word:*" {send "$password\r;"}
#登录跳板机成功,如果返回的内容包含"*你的跳板机的名称*",发送连接测试机的命令
expect "*login*" {send "ssh xxxt@xxxxx\r";}
#同上面一样。。。注意interact是留在测试机上,给用户控制权限,如果不写会直接退出
expect "*word:*" {send "$password\r";#interact}interact {timeout 30 {send "\x20"}}
}
#保存为 login.sh 执行 expect login.sh
#终于不用手输两次密码了.....

转载于:https://www.cnblogs.com/bonelee/p/7817371.html

ssh跳板登陆太麻烦,使用expect每次自动登录 利用expect 模拟键盘动作,在闲置时间之内模拟地给个键盘响应...相关推荐

  1. Linux使用expect自动登录,linux中使用expect实现自动登录(示例代码)

    在实际生产使用中,比如执行批量操作时,我们不想创建ssh认证,需要使用到密码登录或者链接,此时可以使用expect来操作自动添加password: 在centos系统上expect默认是没有安装的,所 ...

  2. expect实现自动登录

    自动登录主机(ssh) 建脚本item2login.sh,包含如下内容 #!/usr/bin/expectset timeout 30 spawn ssh -p [lindex $argv 0] [l ...

  3. linux借助expect完成自动登录

    From: http://www.cnblogs.com/sunss/archive/2010/12/23/1914763.html 在工作中,我需要把远程服务器上的文件,拷贝到本地,可是scp的时候 ...

  4. Linux执行命令提示Password,linux expect远程自动登录以及执行命令

    linux远程自动登录以及执行命令 远程登录 该自动登录的过程是通过shell里面expect实现的,类似相当于开了一个类似于cmd的命令段输出IP和密码. 注意该脚本能够执行的前提是安装了expec ...

  5. linux的spawn权限不足,linux expect, spawn自动登录

    今天写一个脚本,需要与终端输出交互,学习着使用了简单的spawn与expect,感觉很方便,记录一下. 1. 首先要保证linux server上安装了expect,我自己的服务器跑的是suse 10 ...

  6. java拦截到登陆界面,JavaWeb 使用Filter实现自动登录

    JavaWeb 使用Filter实现自动登录 思路 使用cookie存储账号.密码,使用Filter拦截,从cookie中取出账号.密码.若用户要注销|登出.不再想使用自动登录,将cookie的有效期 ...

  7. Matlab模拟登陆网页,转:使用matlab自动登录网站(人人网、新浪微博)代码

    使用matlab自动登录网站(人人网.新浪微博)代码 标题听上去很怪哈...其实意思就是用matlab自动填表单--自动填写账号,密码,然后模拟点击登录. 希望能够起到抛砖引玉的作用,登录其他邮箱什么 ...

  8. Linux中expect实现自动登录

    cnde1:/home/boco4a#more ssh.sh #!/usr/bin/expect spawn ssh -l boco4a -p 22 10.226.100.32 expect &quo ...

  9. linux 使用expect 实现自动登录

    2019独角兽企业重金招聘Python工程师标准>>> 直接上实例: #!/usr/bin/expect -fset loginpass "fd2586d21586&quo ...

最新文章

  1. sql server 2005 T-SQL BEGIN TRANSACTION (Transact-SQL)
  2. ZooKeeper官方文档资源
  3. Portable项目类型之前多个目标类型共享代码的方式
  4. Oracle锁机制的总结【转】
  5. 对动画教程的坐标反转公式求证
  6. requirejs与echart的一些问题
  7. Linux下查看CPU使用率 --- top命令的使用
  8. ssas对数据仓库_SSAS多维数据集中的警告
  9. 2018.4.3 做lab0
  10. 一款基于ijkplayer框架的音乐播放器(已开源)
  11. 算法:回溯十五 Palindrome Partitioning字符串的字符串为回文所有解集合(2中解法)
  12. json java 比较_Java中json工具对比分析
  13. linux suse11 sp3安装,SUSE Linux Enterprise Server 11 SP3安装教程详解
  14. S32K系列S32K144学习笔记——模拟SPI
  15. Cobbler自动化安装系统2
  16. MONKOVEL-安卓端免费的小说阅读器 源码分享
  17. MySQL5.7卸载不干净,残留文件MySQL connector net 8.0.12
  18. geotif 添加坐标_tiff和geotiff经度纬度高度值读取
  19. 计算机网络管理员基础电子书,网络管理员教程.pdf
  20. ddmmyy日期格式是多少_英语中关于年月日以及数字

热门文章

  1. 动手写 framebuffer 画点、划线程序 (七)
  2. html5如何让保存的信息立即显示出来,如何用HTML5存储用户输入的信息
  3. mysql训练逻辑的题_全国计算机等级考试二级教程mysql复习题练习题.docx
  4. 麦块我的世界怎么用java_麦块我的世界怎么玩啊?
  5. linux windows 字符编码转换,Linux操作系统下汉字编码的转换
  6. mysql数据库插入图片_向MySql数据库插入与读取图片文件
  7. c++ 四舍五入保留两位小数_Excel中保留小数点位数
  8. kafka传递文件_从面试角度一文学完 Kafka
  9. PHP的addslashes 函数详解
  10. 题解 P1918【 保龄球 】python和C++