ssh 세션에서 scp를 사용하지 않고 파일을 복사하는 방법은 무엇입니까?


55

ssh를 사용하여 시스템에 로그온했으며 두 시스템에 scp가 없습니다. scp 프로그램을 사용하지 않고 파일을 복사하는 방법


netcat (nc)이 두 시스템 모두에 있습니까? 그렇다면 ssh 세션을 사용하여 TCP 포트를 터널링하고 해당 포트에서 nc를 사용하십시오.

당신이 있습니까 rsync?
slhck 2016 년

3
당신은 또한 이것을 할 수 있습니다 :ssh user@remotehost cat /path/to/remote/file > /path/to/local/file
nm

@nm 인용구 필요 (우분투 서버)
Ivan Black

@nm 작동하지 않습니다-파일이 손상되었습니다 (로그인 메시지가 깨지는 것 같습니다).
monnef 2016 년

답변:


94

파일을 보내려면

cat file | ssh ajw@dogmatix "cat > remote"

또는:

ssh ajw@dogmatix "cat > remote" < file

파일을 받으려면

ssh ajw@dogmatix "cat remote" > copy

20
@ggg 전혀 사실이 아닙니다. cd /tmp; cat /bin/bash > test; chmod a+x test; diff test /bin/bash; ./test모두 잘 작동합니다. 바이너리 파일에 대해서는 본질적으로 "마법"이 없습니다. 필자의 예제에서 두 파일은 모두 동일하고 동일한 체크섬을 가지고 있습니다. 제어 시퀀스 및 인쇄 할 수없는 문자 등의 이유로 터미널 창에서 복사 및 붙여 넣기가 작동하지 않지만 이와 같은 파이프를 사용하면 터미널 근처에 가지 않습니다.
Flexo

@ Flexo 나는 이와 같은 것이 필요하지만 유일한 예외는 폴더에서 모든 jpg를 파이프해야한다는 것입니다. / storage / sdcard1 / * jpg와 >같은 이름의 파일을 어떻게 반복 할 수 있습니까?
조지 프로 펜자

2
@GeorgeProfenza tar믹스 에 추가해야합니다 . tar cvf - /path/*.jpg | ssh foo@bar.com "tar xvf -"또는 비슷한 것이 작동해야합니다.
Flexo

ggg와 Flexo가 위에서 말한 것에 대한 한 가지 의미는 ssh에 "-t"옵션을 사용할 수 없다는 것입니다.
mjg123

1
좋은! 첫 번째 고양이 대신 pv를 사용하여 진행률 표시 줄을 얻을 수도 있습니다.pv file | ssh ajw@dogmatix "cat > remote"
Theolodus

3

이 시도:

cat myfile.txt | ssh me@otherhost 'cat - > myfile.txt' 

2
많은 고양이 전화가 전혀 필요하지 않습니다
Flexo

1

xxd여러 파일을 복사하고 명령을 실행하고 실행할 때 추악한 인용 부호를 사용할 수 있습니다 .

ssh -t foo@bar.com "
echo $'"$(cat somefile | xxd -ps)"' | xxd -ps -r > "'somefile'"
chmod +x somefile
echo $'"$(cat someotherfile | xxd -ps)"' | xxd -ps -r > "'someotherfile'"
chmod +x someotherfile
./somefile
./someotherfile
"

아, 내 대답은 분명히 l33t입니다
Aric

-1

파일을 원격으로 파이핑하는 것 외에도 cat일부 SFTP 클라이언트를 사용하여 파일을 전송할 수도 있습니다.


+1이지만 OP는 시스템에 존재하지 않기 때문에 scp를 피하려고 시도합니다. 이러한 제약 조건이 주어지면 FTP 서버가 수신 측에 있어야 복사 프로세스가 일반적으로 기본적으로 존재하는 것 이외의 소프트웨어에 종속되도록 할 수 있습니다.
Paul Sasik

-1

python3 -m http.server원하는 파일과 같은 디렉토리에 - 그 후에 당신은 할 수 있습니다 curl또는 wget귀하의 브라우저에서 파일을 다운로드하거나. 이 명령을 실행하면 Ctrl+ 를 누를 때까지 현재 디렉토리의 모든 파일을 공개적으로 사용할 수 있습니다 C.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.