码迷,mamicode.com
首页 > 系统相关 > 详细

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

时间:2019-01-04 12:22:47      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:password   lock   一个   进程   登录   现在   word   chm   利用   

前言:使用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

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

标签:password   lock   一个   进程   登录   现在   word   chm   利用   

原文地址:http://blog.51cto.com/phpme/2338610

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!