etc./StackOverFlow

scp를 사용하여 원격에서 로컬로 폴더를 어떻게 복사합니까?

청렴결백한 만능 재주꾼 2021. 10. 9. 02:26
반응형

질문자 :Slasengger


scp 사용하여 원격에서 로컬 호스트로 폴더를 복사하려면 어떻게 해야 합니까?

나는 ssh 를 사용하여 내 서버에 로그인합니다.
그런 다음 원격 폴더 foo 를 로컬 /home/user/Desktop 에 복사하고 싶습니다.

이를 어떻게 달성합니까?



scp -r user@your.server.example.com:/path/to/foo /home/user/Desktop/

foo 끝에 후행 '/'를 포함하지 않음으로써 디렉토리의 내용만이 아니라 디렉토리 자체(내용 포함)를 복사하게 됩니다.

man scp ( 온라인 설명서 참조)

-r 전체 디렉토리를 재귀적으로 복사


Gryphius

scp의 모든 기능을 사용하려면 다음 단계를 거쳐야 합니다.

  1. 공개 키 인증
  2. SSH 별칭 만들기

그런 다음, 예를 들어 다음이 있는 경우 ~/.ssh/config :

 Host test User testuser HostName test-site.com Port 22022 Host prod User produser HostName production-site.com Port 22022

암호 입력에서 자신을 저장하고 다음과 같이 scp 구문을 단순화합니다.

 scp -r prod:/path/foo /home/user/Desktop # copy to local scp -r prod:/path/foo test:/tmp # copy from remote prod to remote test

또한 원격 경로 완성을 사용할 수 있습니다.

 scp test:/var/log/ # press tab twice Display all 151 possibilities? (y or n)

업데이트:

<source><target> 호스트 모두에 bash-shell이 있어야 하고 제대로 작동하는 bash-completion이 필요합니다. 자세한 내용은 관련 질문을 참조하십시오.

scp를 사용할 때 원격 경로에 대한 자동 완성을 활성화하는 방법은 무엇입니까?
SCP 파일 이름 탭 완성


Alexander Yancharuk

로컬 위치 에서 원격 위치로 모두 복사하려면(업로드)

 scp -r /path/from/local username@hostname:/path/to/remote

원격 위치 에서 로컬 위치로 모두 복사하려면(다운로드)

 scp -r username@hostname:/path/from/remote /path/to/local

xxxx사용자 정의 포트 번호인 사용자 정의 포트

 scp -r -P xxxx username@hostname:/path/from/remote /path/to/local

원격에서 로컬로 현재 디렉토리에 복사

 scp -r username@hostname:/path/from/remote .

돕다:

  1. -r 모든 디렉토리와 파일을 재귀적으로 복사
  2. / 에서 전체 위치 사용, pwd
  3. scp 는 모든 기존 파일을 대체합니다.
  4. hostname 은 호스트 이름 또는 IP 주소입니다.
  5. 사용자 지정 포트가 필요한 경우(포트 22 외에) -P portnumber
  6. . (점) - 현재 작업 디렉토리를 의미하므로 서버에서 다운로드/복사하여 여기에만 붙여넣습니다.

참고: 방화벽에서 포트가 허용되지 않아 사용자 지정 포트가 작동하지 않는 경우가 있으므로 방화벽에서 사용자 지정 포트가 들어오고 나가는 연결을 허용하는지 확인하십시오.


Shiv Singh

내가 항상 사용하는 것은 다음과 같습니다.

 scp -r username@IP:/path/to/server/source/folder/ .

. (점) : current folder 의미합니다. 따라서 서버에서 복사하여 여기에만 붙여넣습니다.

IP 125.55.41.311 과 같은 IP 주소 ns1.mysite.com 과 같은 호스트일 수 있습니다.


Manish Shrivastava

원격 서버에서 카탈로그를 먼저 압축하는 것이 좋습니다.

 tar czfP backup.tar.gz /path/to/catalog

둘째, 원격에서 다운로드:

 scp user@your.server.example.com:/path/to/backup.tar.gz .

마지막으로 파일을 추출합니다.

 tar -xzvf backup.tar.gz

justi

그리고 원격 위치에서 다운로드할 파일이 하나 있고 보안에 크게 신경 쓰지 않는다면 scp 기본 암호화(Triple-DES)를 'blowfish'와 같은 것으로 변경해 보십시오.

이렇게 하면 파일 복사 시간이 크게 줄어듭니다.

 scp -c blowfish -r user@your.server.example.com:/path/to/foo /home/user/Desktop/

dimuthu

전형적인 시나리오,

 scp -r -P port username@ip:/path-to-folder .

샘플로 설명하자면,

scp -r -P 27000 abc@10.70.12.12:/tmp/hotel_dump .

어디,

 port = 27000 username = "abc" , remote server username path-to-folder = tmp/hotel_dump . = current local directory

Arun G

Unity 툴바에서 파일로 이동

여기에 이미지 설명 입력

Ctrl + l을 누르고 here_goes_your_user_name@192.168.10.123을 작성하십시오.

192.168.1.103은 연결하려는 호스트입니다.

여기 하나의 예

여기에 이미지 설명 입력


Ronald Coarite

scp 명령을 사용하여 원격에서 로컬로 폴더를 복사하는 방법이었습니다.

$ scp -r userRemote@remoteIp:/path/remoteDir /path/localDir

sftp 를 사용하는 더 좋은 방법이 있습니다. SSH 파일 전송 프로토콜(SFTP라고도 함)은 신뢰할 수 있는 데이터 스트림을 통해 파일 액세스, 파일 전송 및 파일 관리를 제공하는 네트워크 프로토콜입니다.(wikipedia) .

$ sftp user_remote@remote_ip

sftp> cd /path/to/remoteDir

sftp> get -r remoteDir

Fetching /path/to/remoteDir to localDir 100% 398 0.4KB/s 00:00

sftp 명령에 대한 도움말을 보려면 help 또는 ? .


Fulvio

"Too many authentication failures" 가 발생하는 경우 서버 ssh 서버에 추가한 정확한 SSH 키를 지정하십시오.

 scp -r -i /path/to/local/key user@remote.tld:/path/to/folder /your/local/target/dir

kaiser

이유는 모르겠지만 소스 서버 지시문 전에 로컬 폴더를 사용해야 했습니다. 작동하도록

 scp -r . root@888.888.888.888:/usr/share/nginx/www/example.org/

Salem

Windows OS의 경우 이 명령을 사용했습니다.

 pscp -r -P 22 hostname@IP:/path/to/Downloads ./

Manish Gupta

출처 : http:www.stackoverflow.com/questions/11304895/how-do-i-copy-a-folder-from-remote-to-local-using-scp

반응형