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