免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5121 | 回复: 7

[系统管理] 如何在已建立的 ssh 连接上传输文件 [复制链接]

论坛徽章:
0
发表于 2013-03-23 13:44 |显示全部楼层
本帖最后由 hbmhalley 于 2013-03-23 13:44 编辑

RT
想临时传个文件到本地

直接用 scp 感觉很不方便
如果不得不用 scp ,能否利用现有 ssh 连接

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
发表于 2013-03-23 20:17 |显示全部楼层
本帖最后由 yinyuemi 于 2013-03-23 20:20 编辑

回复 1# hbmhalley

你测试下行不?笨办法
  1. ssh user@hostname 'cd $dir; cat $file' >$currt_dir/$currt_file
  2. # $dir/$file 是你想cp的file
复制代码

论坛徽章:
5
未羊
日期:2014-08-04 16:15:21天秤座
日期:2014-08-13 13:52:372015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:112015亚冠之浦和红钻
日期:2015-06-29 15:30:48
发表于 2013-03-23 23:27 |显示全部楼层
也许可以试试看sz

论坛徽章:
0
发表于 2013-03-24 12:09 |显示全部楼层
回复 2# yinyuemi


    这样是新开一个连接吧 .. 而且要再敲一遍目录

论坛徽章:
0
发表于 2013-03-24 12:22 |显示全部楼层
本帖最后由 hbmhalley 于 2013-03-24 12:27 编辑

回复 3# dn833


    看上去很高端 .. 可惜本地是 cygwin 没找到现成的包

    不过顺着找到了另外一个东西:netcat
    配合 ssh 的 -R 大概可以实现:

    [lcoal]$ ssh username@remotehost -R 0:localhost:1234
    # 在远程主机上分配一个端口,连到本地的 1234 上
    [local]$ nc -l localhost 1234 | (read fn; sed q >$fn)
    # 读一行作为文件名,再读一行作为内容。可以用 base64 挤到一行,甚至可以组装成另外一个 interactive shell,懒得写了
    [remote]$ nc -c localhost PORT <CONTENT
    # PORT 是 ssh 刚连接上时报告的端口号,<CONTENT是内容
    # local 和 remote 的两个 nc 不太一样,在 remote 的 archlinux 的源里只找到了 gnu-netcat,选项略不同

论坛徽章:
5
未羊
日期:2014-08-04 16:15:21天秤座
日期:2014-08-13 13:52:372015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:112015亚冠之浦和红钻
日期:2015-06-29 15:30:48
发表于 2013-03-24 14:57 |显示全部楼层
nc可比sz复杂多了

论坛徽章:
0
发表于 2013-03-24 19:45 |显示全部楼层
uuencode 或者base64 ,然后复制下来再解码

论坛徽章:
0
发表于 2013-03-24 21:51 |显示全部楼层
感觉用rz sz挺方便的啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP