利用expect实现SSH登录密码的自动填充

来源:互联网 发布:php tools for vs2015 编辑:程序博客网 时间:2024/05/21 12:58

SSH可以远程登录另一台主机:基本使用口令如下

1.ssh user@host address  如:ssh ysaicll@192.168.0.1
   以ysaicll身份登录主机192.168.0.1

2.ssh host address  如:ssh 192.168.0.1
   直接登录主机192.168.0.1,适用于用户名和本地一致情况

3.ssh -p 222 user@host address  如:ssh ysaicll@192.168.0.1
   ssh默认端口22,-p参数可以修改默认端口

但有的时候,重复输入用户名密码是一件很烦人的事情,这里以SSH登录为例,介绍expect自动填充用户名密码

步骤:

1.在Linux环境下,安装expect  -  yum install expect

2.编写shell脚本,vim autopwd.exp ,Linux的后缀名没有意义,只作标志作用

3.

#!/bin/expect  set timeout 30spawn ssh -l ysaicll 192.168.0.1expect "password:"send "123"interact
4.赋予autopwd.exp 可执行权限,chmod +x autopwd.exp

5.利用expect解释执行autopwd.exp,而不能用bash

注: spawn 是expect语句,必须有。

      interact代表执行完留在远程控制台,不加这句执行完后返回本地控制台。 


阅读全文
0 0
原创粉丝点击