利用shell的expect实现自动登录服务器

前言:使用ssh登录内网服务器,每次都要输入以下命令,次数多了就感觉很麻烦。

zrj@zrj:~$ ssh root@192.168.1.9
root@192.168.1.9's password:

现在,我们可以使用Expect实现复杂的交互过程。

Expect是一个用来处理交互的命令。

expect常用的四个命令:

  1. spawn 启动新的进程

  2. expect 从进程接收字符串

  3. send 用于向进程发送字符串

  4. interact 允许用户交互

使用expect

1、 安装
zrj@zrj:~$ sudo apt-get install expect
2、获取expect执行路径
zrj@zrj:~$ which expect
/usr/bin/expect
3、编写脚本
zrj@zrj:~$ cd ~
zrj@zrj:~$ touch logindev
zrj@zrj:~$ vim logindev

#!/usr/bin/expect
#启动新进程
spawn ssh root@192.168.1.9
#从进程接收字符串
expect "*password:"
#向进程发送字符串
send "yourpassword\r"
#允许用户交互
interact

保存,并给赋予执行权限

zrj@zrj:~$ chmod +x ./logindev
4、运行脚本
zrj@zrj:~$./logindev

转载于:https://blog.51cto.com/phpme/2338610

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值