SSH를 통해 디렉토리를 복사하는 방법

SSH를 통해 디렉토리를 복사하는 방법

연결되어 ssh있으며 내 링크를 받고 싶습니다.현지의우리를 위해외딴서버; 어떻게 해야 하나요? 나는 그것을 사용하여 여러 게시물을 읽었 scp지만 그것은 나에게 작동하지 않습니다. 일부 게시물에서는 이것을 사용하도록 제안 rsync하지만 제 경우에는 디렉토리를 복사하고 싶습니다.

답변1

a에 로그인되어 있는 동안 시스템 a에서 b로 디렉토리를 복사하려는 경우:

scp -r /path/to/directory user@machine_b_ipaddress:/path/to/destination

b에 로그인되어 있는 동안 컴퓨터 a에서 b로 디렉토리를 복사하려면 다음을 수행하십시오.

scp -r user@machine_a_ipaddress:/path/to/directory /path/to/destination

답변2

표준 출력의 스트림으로 아카이브를 사용 cpio하거나 생성하고 이를 SSH로 파이프한 후 원격 호스트에서 스트림을 추출할 수 있습니다. tar예를 들어 tar를 사용하면 다음과 같습니다.

tar cf - dir | ssh remotehost 'tar xf -'

원격 호스트의 다른 디렉토리에 아카이브를 추출하려면 다음을 사용하십시오.

tar cf - dir | ssh remotehost 'tar xfC - /path/on/remote'

tar이 옵션을 지원 하거나 다음을 수행 하는 경우 C:

tar cf - dir | ssh remotehost '
  cd /path/on/remote && tar xf -'

그렇지 않다면.

낮은 대역폭 연결에서는 스트림을 압축해야 할 수도 있습니다.

tar cf - dir | gzip -3 | ssh remotehost '
  cd /path/on/remote && gunzip | tar xf -'

( CPU가 병목 현상을 일으키는 것으로 확인되면 gzip/를 선택한 스트림 압축기로 교체하는 것이 더 나은 선택일 수 있습니다.)gunziplzoplzop -d

답변3

이것이 당신에게 유용할 것이라고 생각했습니다:

scp file user@host:/location_to_save_file

scp- 보안 복사 - 원격 노드로 scp하려는 파일 - 파일 scp 권한이 있는 사용자(예: sysadmin 등) @- 사용자 및 호스트 구분자 호스트 - 파일을 scp하려는 노드 :/location_to_save_file- 파일을 저장할 절대 경로

관련 정보