免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5900 | 回复: 11
打印 上一主题 下一主题

ftp如何进行用户名密码重定向 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-21 11:22 |只看该作者 |倒序浏览
10可用积分
大家好,
我想用shell实现ftp文件传输,但是不想在运行shell时还要在前台输入用记名密码。

#/bin/sh

ftp 192.168.1.18 >data.cfg
ls >./temp.out


$cat data.cfg
user
passwd



如上,用户名密码保存在data.cfg里,但是这样运行shell程序ftp连接都不成功,为什么呢?
先谢过了!!!

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
2 [报告]
发表于 2009-04-21 11:25 |只看该作者
好象有点问题

[ 本帖最后由 ly5066113 于 2009-4-21 11:28 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2009-04-21 11:30 |只看该作者
#!/bin/sh
echo "open 10.0.0.2 21
user username password
bin
cd xxxdir
get xxxfile
bye"|ftp -i -in

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
4 [报告]
发表于 2009-04-21 11:40 |只看该作者
汗,还没用过ftp.

论坛徽章:
0
5 [报告]
发表于 2009-04-21 11:40 |只看该作者
ftp -n << !
open 192.168.100.111
user name password
bin
prompt
put *.txt
close
bye
!

论坛徽章:
0
6 [报告]
发表于 2009-04-21 12:18 |只看该作者

这里是expect脚本,调试通过,请参考

mtv:/usr/local/src # cat auftp.exp
#!/usr/expect/bin/expect
set host "10.1.1.154"
set password "123456"
set login "xiaobingli"
set file [lindex $argv 0]
spawn ftp "${host}"
expect "*Name*"
send "${login}r"
expect "Password:"
exec sleep 1
send "${password}\r"
expect "ftp>"
send "type binary\r"
expect "ftp>"
send "send ${file}\r"
expect "ftp>"
send "bye\r"

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
7 [报告]
发表于 2009-04-21 12:43 |只看该作者
data.cfg
open urhost
user userName Pwd
ls
...

ftp -n < data.cfg

论坛徽章:
0
8 [报告]
发表于 2009-04-21 13:09 |只看该作者
原帖由 xiaobing927 于 2009-4-21 12:18 发表
mtv:/usr/local/src # cat auftp.exp
#!/usr/expect/bin/expect
set host "10.1.1.154"
set password "123456"
set login "xiaobingli"
set file [lindex $argv 0]
spawn ftp "${host}"
expect "*Name ...

这个脚本不错,可是我用的aix没有expect 和spawn命令怎么办啊?

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
9 [报告]
发表于 2009-04-21 13:51 |只看该作者
http://www.cublog.cn/u/739/showart.php?id=62056


#!/usr/bin/ksh
#DATE: 2005-12-15

#SECTION1 -- Please change these following variables, if you need.
FTPSERVER=server1
FTPUSER=db2admin
FTPPASSWD=XXXX
ARCHIVEDIR=/db2aix/archive/db2admin/NODE0000
TARGETDIR=/dbbackup/server2log
MAILLIST='"beginner@yeah.net" beginner@yeah.net'

#SECTION2 -- Get file name list in FTP server.
> /tmp/ftp.txt
ftp -n <<! > /tmp/ftp1.txt 2>>/tmp/ftp.txt
open $FTPSERVER
user $FTPUSER $FTPPASSWD
cd $TARGETDIR
ls
bye
!
cat /tmp/ftp1.txt |sort > /tmp/ftp2.txt

论坛徽章:
0
10 [报告]
发表于 2009-04-21 15:33 |只看该作者
(
#读配置文件
cat data.cfg| read user pass
#登录
echo user $user $pass
#其它ftp命令
echo cd /usr1/bin
echo send ftp
) | ftp -n IP地址

要用ftp -n禁用自动登录,然后通过user命令手工登录
否则一连上去ftp程序就会要求输入用户名和密码
并且要求一定从键盘输入,不允许通过重定向

自己分别用ftp IP和ftp -n IP试一下就知道了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP