如何使用tar pigz命令将这些管道转换为ssh远程执行?

时间:2014-01-10 22:39:19

标签: linux bash

Linux命令,手动打开终端并执行命令,没问题 是。我想要这样的东西:     (nc -l 8400 | pigz -d | tar xvf - )&

如何让它通过ssh远程执行运行?

如果终端保持打开,它可以工作。 但是如果我在输入命令后退出终端或通过ssh客户端远程执行'(nc -l 8400 | pigz -d | tar xvf - )& “

当我通过ssh执行命令时,错误消息是“tar:这看起来不像tar档案”

确定。我根据Jonathan和博客(http://pen-testing.sans.org/blog/2013/05/06/netcat-without-e-no-problem/comment-page-1/

的帮助自行解决了这个问题 客户端上的

:mkfifo / tmp / pipe0

ssh -f client " bash -c ' mkfifo /tmp/pipe0; cd /tmp/test; ( /bin/sh 0</tmp/pipe0 | nc -l 8400 | pigz -d | tar xf - )' 

谢谢!

1 个答案:

答案 0 :(得分:1)

你是说像

这样的意思吗?
(nc -l 8400 | pigz -d | tar xvf - )&

但是,如果您只想将tar'ed压缩数据发送到远程计算机,并将其提取到那里,则可以在没有nc的情况下使用ssh:

cat input.tar.gz | ssh remote.host "cd destDir; gzip -d | tar xf -"

pigz -d也应该有用)