免费注册 查看新帖 |

Chinaunix

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

[系统管理] 实用问题:scp跨机器拷贝大家都是怎么玩的? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-08-19 14:09 |只看该作者 |倒序浏览
公网服务器A
公网服务器B

A访问B没问题,但A如果要访问B内网的服务器C呢?C只有内网地址。

我想到的方法如下:
1、在B上部署一个scp脚本
2、在A机器的脚本里调用B上的脚本,先把C上的东西拷贝到B上,再从B取过来。

感觉有点麻烦,要在A和B两边部署脚本,如果机器一多,更麻烦,应该有其它更好的办法。
前提:A和B,B和C都已经做了ssh无密码登陆处理。

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
2 [报告]
发表于 2014-08-19 19:25 |只看该作者
在B上做端口映射不知道能不能行

论坛徽章:
62
洛杉矶湖人
日期:2015-02-10 09:56:11黑曼巴
日期:2016-06-28 17:41:282015-2016NBA季后赛纪念章
日期:2016-06-28 17:41:282016猴年福章徽章
日期:2016-02-18 15:30:34圣安东尼奥马刺
日期:2015-05-04 22:46:00菠菜神灯
日期:2015-05-04 22:35:07新奥尔良黄蜂
日期:2015-03-17 13:54:52明尼苏达森林狼
日期:2015-03-16 21:51:15萨克拉门托国王
日期:2015-03-02 16:10:58华盛顿奇才
日期:2015-03-02 16:10:58迈阿密热火
日期:2015-03-02 16:10:582016科比退役纪念章
日期:2016-06-28 17:41:28
3 [报告]
发表于 2014-08-19 19:57 |只看该作者
顶。。。。。。。。。。。

论坛徽章:
224
2022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:32操作系统版块每日发帖之星
日期:2016-02-18 06:20:00操作系统版块每日发帖之星
日期:2016-03-01 06:20:00操作系统版块每日发帖之星
日期:2016-03-02 06:20:0015-16赛季CBA联赛之上海
日期:2019-09-20 12:29:3219周年集字徽章-周
日期:2019-10-01 20:47:4815-16赛季CBA联赛之八一
日期:2020-10-23 18:30:5320周年集字徽章-20	
日期:2020-10-28 14:14:2615-16赛季CBA联赛之广夏
日期:2023-02-25 16:26:26CU十四周年纪念徽章
日期:2023-04-13 12:23:1015-16赛季CBA联赛之四川
日期:2023-07-25 16:53:45操作系统版块每日发帖之星
日期:2016-05-10 19:22:58
4 [报告]
发表于 2014-08-19 20:32 来自手机 |只看该作者
大文件碎文件一定要先压缩

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:58:11
5 [报告]
发表于 2014-08-19 20:32 |只看该作者
本帖最后由 淡定与洒脱 于 2014-08-19 20:33 编辑

端口映射应该可以搞定

论坛徽章:
12
技术图书徽章
日期:2014-07-11 16:27:5215-16赛季CBA联赛之山西
日期:2016-01-08 16:10:11操作系统版块每日发帖之星
日期:2015-08-01 06:20:002015亚冠之武里南联
日期:2015-06-11 01:12:162015年亚洲杯之阿联酋
日期:2015-03-20 11:41:462015年亚洲杯纪念徽章
日期:2015-03-18 18:08:422015年辞旧岁徽章
日期:2015-03-03 16:54:15丑牛
日期:2015-01-10 22:23:32天秤座
日期:2014-08-20 15:53:35水瓶座
日期:2014-08-11 12:08:51午马
日期:2014-07-23 23:03:38IT运维版块每日发帖之星
日期:2016-02-18 06:20:00
6 [报告]
发表于 2014-08-19 20:59 |只看该作者
本帖最后由 phanx 于 2014-08-19 21:18 编辑

回复 1# weikle


    B 能访问A么? 如果B能访问A和C,那么可以这样。 从A   ssh登录到B上。然后执行。
  1. ssh B "cd srcdir; tar cf - dir" | ssh C "cd destdir; tar xf -"
复制代码

论坛徽章:
0
7 [报告]
发表于 2014-08-19 22:17 |只看该作者
试了下端口映射,确实可以搞定。只是居然要在A上执行转发命令,一直想当然以为是在B上执行。
在A上命令如下:
ssh -L 15555:c内网地址:22 user@B公网地址 -Nfg

这样子在A上可以这么访问C:
ssh -p 15555 user@127.0.0.1

scp也没问题,可拷贝任意c的文件到本地:
scp -P 15555 user@127.0.0.1:/xxx/xx.log .

只是A的id_rsa.pub也要追加到 C的keys里面去,否则会提示输密码。

论坛徽章:
0
8 [报告]
发表于 2014-08-19 22:18 |只看该作者
这个方法貌似更简单,明天试试。
回复 7# phanx


   

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
9 [报告]
发表于 2014-08-20 10:24 |只看该作者
weikle 发表于 2014-08-19 22:17
试了下端口映射,确实可以搞定。只是居然要在A上执行转发命令,一直想当然以为是在B上执行。
在A上命令如下 ...


用ssh隧道的方式最方便了。

论坛徽章:
0
10 [报告]
发表于 2014-08-21 10:04 |只看该作者

A--B--C/D/E

考虑到A除了访问C,还得访问D和E,还是用B机中转算了。用本地端口映射,如果只有c还行,如果还有d和e,到时候都用本地地址 127.0.0.1去访问,虽然端口不同,但测试发现有点问题。中转命令比较土:
ssh user@B "scp user@C:/xx/xx.log ."&&scp user@B:~/xx.log .

即用两条完成,先登陆B,从c取到B,执行成功后再从B取回A。

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP