Shell结合Expect实现自动输入密码

  Shell结合Expect自动输入密码示例

 1 #!/bin/bash
 2
 3 cd /data/live
 4
 5 /usr/bin/expect <<-EOF
 6 spawn git clone "ssh://xxxxxxxxxxxx"
 7 expect "*passphrase*"
 8 send "passwordhere\n"
 9 expect eof
10 EOF
11
12 time=`/bin/date "+%Y%m%d%H%M%S"`
13 cd dir1 && tar czf /data/www/dir2_$time.tar.gz dir2
14 cd .. && rm -rf dir1
15 if [ $? -eq 0 ]
16 then
17     echo "Download here: http://10.13.38.22/dir2_"$time".tar.gz"
18 else
19     echo "Download Error!"
20 fi
时间: 2024-09-30 03:01:52

Shell结合Expect实现自动输入密码的相关文章

ssh采用expect实现自动输入密码登录、拷贝

1. 引言 最近做了一个项目,需要频繁与另一台主机进行文件的传输:中间想到了很多方式:FTP.samba.curl等,但是还是感觉scp最好用. SCP使用教程可参阅:http://www.jb51.net/article/70919.htm 但scp也存在着一些问题,每次都需要输入目标机的密码,需人为手动干预,这个就比较烦了,那么有没有可以自动进行界面交互的命令呢? 答案当然是:有: expect喽 except使用教程:https://www.cnblogs.com/lixigang/art

Linux下Expect 完成自动输入密码

今天要开发一个定时任务,然后加入cron列表中.但是有个问题摆在眼前,脚本的执行中需要输入数据库密码(貌似5.1版本以上不允许在-p后直接加密码,会报错) mysql -u root -p << SQL use db; set names utf8; `cat task.sql` SQL 运行上述代码后,会提示: Enter password: expect可以帮助我们完成这件事情: 将上述代码保存到一个文件中:db.sh 并且编写如下代码保存为db.exp: #!/usr/bin/expec

通过expect免自动输入密码登陆远程服务器

1.前提必须已经安装expect 2.新建login.sh,文件内容如下 #!/usr/bin/expect -f spawn ssh [email protected]expect "password:"send "passwordR\r"interact 3.执行./login.sh即可登陆远端服务器

CentOS 6.5 shell中su切换自动输入密码

yum -y install expect login as normal user: vi su.exp #!/usr/bin/expectset timeout 30spawn su -expect "Password:"send "root-pass\r"interact chmod +x su.exp ./su.exp

shell脚本 expect 实现自动登陆

vi auto_ssh.exp #!/usr/bin/expect set ipaddress "123.227.159.159" set passwd "你的密码" set timeout 30 spawn ssh [email protected]$ipaddress expect { "yes/no" {send "yes\r";exp_continue} "password" {send "

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

前言:使用ssh登录内网服务器,每次都要输入以下命令,次数多了就感觉很麻烦. [email protected]:~$ ssh [email protected] [email protected]'s password: 现在,我们可以使用Expect实现复杂的交互过程. Expect是一个用来处理交互的命令. expect常用的四个命令: spawn 启动新的进程 expect 从进程接收字符串 send 用于向进程发送字符串 interact 允许用户交互 使用expect 1. 安装 [

shell脚本通过expect脚本实现自动输入密码(使用expect)

背景:在远程文件下载时,需要输入对方的服务器密码,shell不支持交互输入内容,可以用下面两种方式实现 一.在shell脚本中嵌入expect来实现密码输入 expect是一个自动交互功能的工具.expect是开了一个子进程,通过spawn来执行shell脚本,监测到脚本的返回结果,通过expect判断要进行的交互输入内容(send) 1.安装expect 需要先安装tcl:apt-get install tcl apt-get install expect 2.expect使用 2.1一个简单

【转】Shell脚本交互之:自动输入密码

平时在控制台输入指令如:sudo.ssh.ftp或者修改admin权限的文件时候都会要求输入password,但是在she'll脚本运行过程中该如何交互实现自动输入密码呢? 下面总结三种实现方法: 一.重定向:用重定向方法实现交互的前提是指令需要有参数来指定密码输入方式,如ftp就有-i参数来指定使用标准输入来输入密码 shell用重定向作为标准输入的用法是:cmd<<delimiter ,shell 会将分界符delimiter之后直到下一个同样的分界符之前的内容作为输入 实现ftp自动登录

Shell脚本交互之:自动输入密码

Shell脚本交互之:自动输入密码 2016年04月09日 19:41:26 zhangjikuan 阅读数:58208 标签: Shell交互自动输入密码expect重定向管道 更多 个人分类: ARM/linux 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/zhangjikuan/article/details/51105166 平时在控制台输入指令如:sudo.ssh.ftp或者修改admin权限的文件时候都会要求输入password,