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

관련 정보