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 - )'
谢谢!
答案 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
也应该有用)