使用lsh上传文件

使用lsh上传文件

如何将本地文件上传到通过 SSH 运行的远程计算机lsh?互联网上有足够多的示例,ssh但我有兴趣使用lsh.

以下是我对 MP3 文件的尝试:

$ cat file.mp3 | lsh -l pi -c aes256-ctr --sloppy-host-authentication raspberrypi.local "cat > file.mp3"
$ lsh -l pi -c aes256-ctr --sloppy-host-authentication raspberrypi.local "cat > file.mp3" < file.mp3
$ tar -c file.mp3 | lsh -l pi -c aes256-ctr --sloppy-host-authentication raspberrypi.local "tar -x"

所有这些都会产生一个与我发送的文件完全相同但完全为空的文件。

$ ls -l file.mp3
-rwxr-xr-x 1 pi pi 0 Feb 24 06:55 file.mp3

答案1

从另一个角度来看文档我发现我忽略了-f --f指示tar使用存档文件。- 分别代表标准输入或标准输出。所以,这有效:

$ tar -cf - file.mp3 | lsh -l pi -c aes256-ctr --sloppy-host-authentication raspberrypi.local "tar -xf -"

上传单个文件,再举一个例子GNU lsh 的 Texinfo 手册第 3.5 节。它使用输入和输出重定向并且不需要tar.在上面的例子中,它将是:

$ lsh -l pi -c aes256-ctr --sloppy-host-authentication raspberrypi.local '>file.mp3' <file.mp3

但是,这只会在我的系统上创建一个空文件

$ >testfile2 <testfile1

我需要添加cat

$ lsh -l pi -c aes256-ctr --sloppy-host-authentication raspberrypi.local 'cat >file.mp3' <file.mp3

相关内容