원격 서버에서 로컬 컴퓨터로 파일을 복사하는 방법은 무엇입니까?

원격 서버에서 로컬 컴퓨터로 파일을 복사하는 방법은 무엇입니까?

내 터미널 셸에서 원격 서버와 cd원하는 디렉터리로 SSH를 통해 연결합니다.

table이제 이 디렉토리에는 로컬 컴퓨터에 복사하려는 파일이 있습니다 /home/me/Desktop.

어떻게 해야 하나요?

시도했지만 scp table /home/me/Desktop해당 파일이나 디렉터리가 없다는 오류가 발생했습니다.

이 작업을 수행하는 방법을 아는 사람이 있나요?

답변1

구문은 다음 scp과 같습니다.

원격 컴퓨터에 파일을 보내려는 컴퓨터를 사용하는 경우:

scp /file/to/send username@remote:/where/to/put

이는 remoteFQDN 또는 IP 주소일 수 있습니다.

반면, 컴퓨터를 사용 중이고 원격 컴퓨터에서 파일을 받으려는 경우:

scp username@remote:/file/to/send /where/to/put

scp두 원격 호스트 간에 파일을 보내는 것도 가능합니다.

scp username@remote_1:/file/to/send username@remote_2:/where/to/put

따라서 기본 구문은 다음과 같습니다.

scp username@source:/location/to/file username@destination:/where/to/put

당신은 읽을 수있다man scp이에 대해 더 많은 아이디어를 얻으려면.

답변2

rsync대안 으로 사용할 수 있습니다 . 주로 파일 동기화에 사용되지만 이 목적으로도 사용할 수 있습니다.

rsync -avzh --stats --progress remoteuser@remoteip:/path/  localpath 

SSH 옵션을 추가합니다.

rsync -e "ssh -P $port_value" remoteuser@remoteip:/path/  localpath

--progress실시간 디스플레이 전송 에 --stats유용합니다 .

파일을 많이 복사할 때 눈에 띄는 점은 이미 전송된 파일은 건너뛰기 때문에 SCP보다 나은 선택이라고 생각합니다.

답변3

scp [email protected]:/root/Jmeter/reports.jtl Downloads/

답변4

네트워크의 모든 사람을 완전히 신뢰하고 대상 시스템의 포트에 직접 연결할 수 있는 경우 netcat: 을 사용할 수 있습니다 nc.

대상 컴퓨터의 IP 주소가 192.168.1.123이라고 가정합니다.

목적지에서 실행:

nc -l -p 7777 0.0.0.0 | tar zxvf - -C dest_dir

인터페이스에 바인딩된 다른 포트나 다른 IP를 선택할 수 있습니다. 0.0.0.0은 모든 인터페이스를 캡처합니다.

소스에서 실행:

tar zcvf - filename | nc 192.168.1.123 7777

IMHO, 이것은 디지털 네트워크를 사용하여 한 컴퓨터에서 다른 컴퓨터로 파일을 보내는 가장 빠른 방법입니다.

nc매개변수와 명령줄 옵션은 버전과 버전에 따라 약간 다를 수 있지만 tar최신 Linux 배포판에서는 확실히 작동합니다.

관련 정보