linux 下使用expect编写shell 脚本交互访问远程服务器
来源:互联网 发布:中国大百科数据库 编辑:程序博客网 时间:2024/04/28 22:26
使用命令行登陆远程服务器一般需要ip地址以及登陆密码等,每次都手动输很不方便,expect可以满足自动输入密码。下面是详细的介绍:
首先安装expect:
我用的是ubuntu14.04,使用
sudo apt-get install expect
即可安装然后使用
which expect
来查看expert的路径,我的路径是/usr/bin/expect
然后编写脚本:
以
198.175.102.32:10000
为例,账号为Team002,密码为××××××使用
vim connect.sh
新建脚本
下面是shell脚本的代码:
#!/usr/bin/expectset timeout 30spawn ssh Team002@198.175.102.32 -p 10000expect "password:"send "××××××\r"interact
然后修改权限:
保存退出,使用
sudo chmod +x connect.sh
将connect.sh文件变为可执行文件>
下面运行脚本:
使用
./connect.sh
即可运行,运行结果见下图:
可以看到,这里自动连接服务器并输入密码,登陆成功
最后是代码的介绍
第一行
#!/usr/bin/expect
中的/usr/bin/expect
为which expect
之后的路径第二行
set timeout 30
是设置第四行等待时间最长为30s第三行
spawn ssh Team002@198.175.102.32 -p 10000
是使用spawn来执行ssh Team002@198.175.102.32 -p 10000
这条命令,其中Team002是账号,198.175.102.32为IP地址,10000为端口号第四行
expect "password:"
是等待终端输出中的字符串中是否包含password:
,如果包含,执行下一行,否则等待超过第二行设置的30s之后继续执行下一行第五行
send "××××××\r"
用来实现自动输入密码,示例密码为xxxxxx最后一行
interactr"
的作用是执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。
0 0
- linux 下使用expect编写shell 脚本交互访问远程服务器
- expect 远程交互脚本
- Linux下使用shell+expect远程登录主机
- 利用expect在linux shell脚本中交互(scp远程传输文件示例)
- 用expect编写Linux自动化交互登录脚本
- shell下使用expect遍历服务器
- linux下一脚本自动交互执行小例(expect)
- Linux 下shell script 中使用EXPECT
- linux下使用expect实现自动化脚本
- 在shell中使用expect+ssh登陆远程服务器
- linux下编写shell脚本
- linux下编写shell脚本
- linux shell使用expect实现sftp的自动交互
- expect的简单使用,linux交互性shell
- Linux 远程执行脚本 expect
- Linux下通过EXPECT脚本自动执行ssh远程连接
- Linux下通过EXPECT脚本自动执行ssh远程连接
- Linux使用expect脚本实现远程机器自动登录
- Android debug.keystore的密码
- 什么是装箱和拆箱?
- 数据的图表展示
- 搬圆桌
- 【JZOJ 4799】我的快乐时代
- linux 下使用expect编写shell 脚本交互访问远程服务器
- Gym 100962A ABBA
- adb 用不了的原因
- 数据库与表的操作之创建、修改和删除数据
- Devcon2 (第二届全球区块链开发者峰会)演讲PPT下载
- 什么是Code-Behind?
- 凸包
- SecureCRT终端显示gcc编译错误提示乱码问题
- 设计模式-简单工厂模式