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

Shell-Scp自动输入密码

时间:2015-07-24 18:54:49      阅读:1092      评论:0      收藏:0      [点我收藏+]

标签:password   programs   输入密码   linux   expect   

在LINUX上,我们可以很方便的使用scp命令来远程拷贝文件,但是由于scp命令本身无保存密码选项,所以在shell里面无法像samba那样子保存密码,比较麻烦,下面介绍下两种实现方法。

方法一:

ssh公私钥认证


方法二:

expect(expect - programmed dialogue with interactive programs, Version 5)实现

默认安装,需要手动安装expect包:yum -y install  expect  expect-devel

#!/bin/bash
expect -c "
set timeout 1200; ##设置拷贝的时间,根据目录大小决定,我这里是1200秒。
spawn /usr/bin/scp -r 192.168.0.201:/work/backup/db_back/ /work/dbback/
expect {
\"*yes/no*\" {send \"yes\r\"; exp_continue}
\"*password*\" {send \"123456\r\";} ##远程IP的密码。
}
expect eof;"

如果不设置timeout的话会自动退出,所以必须设置,或者用default字段可以设置expect超时或退出时的动作。


本文出自 “wine” 博客,请务必保留此出处http://knowledge92.blog.51cto.com/7143076/1677865

Shell-Scp自动输入密码

标签:password   programs   输入密码   linux   expect   

原文地址:http://knowledge92.blog.51cto.com/7143076/1677865

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