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