免费注册 查看新帖 |

Chinaunix

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

scp远程拷贝expect实现SHELL [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-22 20:46 |只看该作者 |倒序浏览
scp远程拷贝,要输入密码。

expect设置可以不用输入密码

这个SHELL如何实现?谢谢

论坛徽章:
0
2 [报告]
发表于 2008-11-23 00:52 |只看该作者
scp 远程拷文件,建议用搭配 ssh 方法:
1: 在客户机上生成 ssh 需要的 rsa 密钥: ssh-keygen -t rsa
2: 把生成的 id_rsa.pub拷到远程服务器用户的 .ssh 目录下,并更名为authorized_keys
这样一来,scp  拷文件就不需要密码了

论坛徽章:
0
3 [报告]
发表于 2008-11-23 00:54 |只看该作者
LZ Google 一下 scp ssh 就有好多示例

论坛徽章:
1
2015年亚洲杯之韩国
日期:2015-04-24 09:07:02
4 [报告]
发表于 2008-11-23 09:19 |只看该作者

回复 #2 xwmhmily 的帖子

学习啦

论坛徽章:
0
5 [报告]
发表于 2008-11-23 17:16 |只看该作者
呵呵。都不是我想要的结果。

我已经解决了。

用expect实现,无须人工输入密码。实现非交互。

论坛徽章:
0
6 [报告]
发表于 2008-11-23 17:20 |只看该作者
贴上我的脚本。

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

论坛徽章:
0
7 [报告]
发表于 2008-11-23 17:28 |只看该作者
学习expect了

论坛徽章:
1
白银圣斗士
日期:2015-11-23 08:33:04
8 [报告]
发表于 2008-11-23 17:53 |只看该作者
原帖由 blake94 于 2008-11-23 17:20 发表
贴上我的脚本。

#!/bin/bash
expect -c "
        set timeout 1200;   ##设置拷贝的时间,根据目录大小决定,我这里是1200秒。
        spawn /usr/bin/scp -r 221.*.*.2:/work/backup/db_back/ /work/d ...

请教 一下如果不设timeout 会怎么样?会自动 退出吗?

论坛徽章:
0
9 [报告]
发表于 2008-11-23 21:28 |只看该作者
原帖由 枫影谁用了 于 2008-11-23 17:53 发表

请教 一下如果不设timeout 会怎么样?会自动 退出吗?



会自动退出。

论坛徽章:
0
10 [报告]
发表于 2008-11-24 10:15 |只看该作者
用default字段可以设置expect超时或退出时的动作。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP