Linux中使用expect脚本实现远程机器自动登录
首先创建一个expect脚本ssh_expect,文件内容如下:
#!/usr/bin/expect -f set hostname [lindex $argv 0] set user [lindex $argv 1] set passwd [lindex $argv 2] set timeout 30 set force_conservative 1 if {$force_conservative} { set send_slow {128 .1} } spawn ssh $user@$hostname; expect { "*continue connecting (yes/no)?" { send -s "yes\r"; exp_continue } "*assword:" { send -s "$passwd\r"; } } interact
然后定义一些命令别名,比如:
alias h101='ssh_expect 192.168.0.101 <user> <password>' alias h102='ssh_expect 192.168.0.102 <user> <password>'
这些别名可以写到~/.bashrc文件中
然后执行 h101 就可以自动登录192.168.0.101机器了。
相关推荐
-
expect实现批量修改linux密码脚本分享
最近对linux批量执行的脚本很感兴趣,在网上到处找有关expect批量执行脚本,今天就给大家共享一个批量修改密码的脚本. 脚本内容: 复制代码 代码如下: #!/usr/bin/expect if { $argc<2 } { send_user "usage: $argv0 <host file> <cmd file> \n" exit } # 机器列表数据格式: IP 端口 旧密码 新密码 set hostfile [
-
linux中expect的介绍与使用示例
一.概述 我们通过Shell可以实现简单的控制流功能,如:循环.判断等.但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如telnet服务器等进行交互的功能.而Expect就使用来实现这种功能的工具. Expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预.Expect的作者Don Libes在1990年 开始编写Expect时对Expect做有如下定义:Expect是一个用来实现自动交互功能的软件套件 (Expect [is a]
-
linux expect实现登陆远程主机并执行命令示例代码
本文主要给大家介绍了关于linux expect实现登陆远程主机并执行命令的相关内容,分享出来供大家参考学习,下面来一看看详细的介绍: 示例代码: #!/bin/bash export cmd=$1 expect << 'END' set cmd "$env(cmd)" spawn ssh root@192.168.56.1 $cmd expect { "(yes/no)?" {send "yes\r";exp_continue} &
-
Linux中使用expect脚本实现远程机器自动登录
首先创建一个expect脚本ssh_expect,文件内容如下: #!/usr/bin/expect -f set hostname [lindex $argv 0] set user [lindex $argv 1] set passwd [lindex $argv 2] set timeout 30 set force_conservative 1 if {$force_conservative} { set send_slow {128 .1} } spawn ssh $user@$hos
-
Linux中自定义shell脚本启动jar包的方法
一键启动.停止.重启 java项目 创建.sh文件 vi XXX.sh 编写shell脚本 #!/bin/sh port=8080 #定义变量等号左右不能有空格 jar_name=/opt/oaclou/XXX.jar #运行脚本提示信息 tips(){ echo "-------------------------------------" echo "" echo "项目端口: ${port}" echo "项目地址: ${jar_
-
shell中使用expect命令进行远程执行命令脚本
expect是用来实现自动交互功能的工具之一,使用expect-send来实现交互过程. 注意: 1.脚本的执行方法与bash shell不一样,比如:expect example.sh 2.向一个脚本传递参数时,bash shell是使用$1,$2...来接收参数的:而expect则将脚本的执行参数保存在数组$argv中,在脚本中一般将其赋值给变量:set 变量名 [lindex $argv 参数] #!/usr/bin/expect set ip [lindex $argv 0] set p
-
Linux中执行shell脚本的4种方法总结
bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本: 复制代码 代码如下: cd /data/shell ./hello.sh ./的意思是说在当前的工作目录下执行hello.sh.如果不加上./,bash可能会响应找到不到hello.sh的错误信息.因为目前的工作目录(/data/shell)可能不在
-
在Linux中通过Python脚本访问mdb数据库的方法
在 linux 系统中连接 mdb 数据库,直接连接的话,mdb 默认的驱动无法识别非 windows 的路径, 所以不能使用常规的连接方式 DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:\\dir\\file.mdb 安装 这里我们需要借助一些库来实现第三方的驱动 我们需要安装这些包:mdbtools, unixODBC, libmdbodbc 如果是支持 deb 的系统中,如果不能找到 libmdbodbc ,将以下路径加入到软件源列表中 de
-
Linux中使用Shell脚本查看Java线程的CPU使用情况
线上Java应用,在业务高峰期的时候经常出现CPU跑高,需要查看实时的线程占用cpu情况,下面是一个很好用的脚本,可以快速导出每个线程的占用CPU情况,结合jstack日志,排查到具体的线程类名. 一.首先获得jvm的进程ID: 复制代码 代码如下: ps -ef|grep javatomcat 374 372 1 11:45 ? 00:02:30 jsvc.exec -java-home /usr/java/latest -user tomcat -pidfile
-
利用Shell脚本实现远程MySQL自动查询
下面这个脚本是一个简单用来执行远程数据库查询的命令,相信大家都能看得懂,这对于有些需要每天自动检查数据库或是执行某些语句的兄弟,是很有帮助的,只要稍加修改就可以 复制代码 代码如下: #!/bin/shHOST=192.168.5.40USER=abcPASS=123456QUERY=`mysql -h$HOST -u$USER -p$PASS << EOFuse testdb;select * from person where name='LiMing';exitEOF`echo $QUE
-
expect实现Linux自动登陆远程机器脚本实例
expect 是由Don Libes基于Tcl(Tool Command Language )语言开发的,主要应用于自动化交互式操作的场景,借助Expect处理交互的命令,可以将交互过程如:ssh登录,ftp登录等交互过程,写到Shell脚本里以实现一些自动化操作. 在 Linux 下进行远程登陆的时候,总是要进行 ssh 输入账号密码,相对比较繁琐. 而有时候为了保护线上重要的机器不能随便登录,通常使用从本地登陆到公司的中间机器(跳板机)然后才能登陆到线上的机器.如果 A -> B -> C
-
详解Linux使用shell+expect远程登录主机
详解Linux使用shell+expect远程登录主机 最近使用Ubuntu系统想远程登录自己的vps主机,但是感觉自带的远程登录软件不太好使.于是乎想着怎么使用shell脚本来登录,于是Google之后整理了一下,记录一下,方便以后用到. 1.准备工作:安装expect for Ubuntu sudo apt-get update sudo apt-get install expect for Centos yum install expect 2.新建脚本粘贴以下内容 #!/usr/bin/
随机推荐
- 我和expression的日与被日 经典分析
- 基于JavaScript实现前端数据多条件筛选功能
- asp.net IList查询数据后格式化数据再绑定控件
- PHP5权威编程阅读学习笔记 附电子书下载
- ASP 正则函数替换分页后的参数
- python笔记(2)
- python抓取网页图片并放到指定文件夹
- C#多线程编程中的锁系统基本用法
- 解决MySQL中的Slave延迟问题的基本教程
- Linux 中可重入函数与不可重入函数详解
- js模拟滤镜的图片渐显效果
- asp实现检查ip地址是否为内网或者私有ip地址的代码分享
- jQuery统计上传文件大小的方法
- 理解JAVASCRIPT中hasOwnProperty()的作用
- JavaScript高级教程5.6之基本包装类型(详细)
- 百度排名下降的主要原因分析(站长必看)
- Android Map新用法:MapFragment应用介绍
- python snownlp情感分析简易demo(分享)
- php获取excel文件数据
- c#继承与多态使用示例