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