본문 바로가기

Linux/설정 및 명령어

원격 파일 전송 scp 명령어



SCP



Secure Copy의 약자로, 네트워크가 연결되어 있는 원격지에 파일을 간편하고 안전하게 전송할 수 있는 명령어

SSH와 동일한 22번 포트를 사용하여 전송하기 때문에 보안도 뛰어나며 디렉토리 전송도 간편한 것이 장점.


1. 명령어


scp [옵션] [원본 대상] [복사할 지점]


설명부터 하자면 기본적인 틀은 cp와 같다. 다른 블로그나 어떤 분들을 보면


scp [옵션] [원본 대상] [원격지계정@IP:/파일생성지점]


이런식으로만 설명해주시는 분들이 간혹 계신데 반대로도 가능하다.


scp [옵션] [원격지계정@IP:/복사해올파일] [/붙여넣을경로]


그러니까 scp를 통해 자신의 파일을 원격지에 복사하거나 원격지에 있는 파일을 자신의 서버로 끌어오는 것이 가능하다.

심지어 제 3의 서버에서 1번 서버에 있는 파일을 2번 서버에 붙여넣기도 가능하다.

그러니까 좀 더 정확한 옵션은


scp [옵션] [원본서버계정@IP:/원본 대상] [목적지계정@IP:/복사할 지점] 

단, 로컬일 경우 계정과 IP정보는 기입하지 않아도 된다.


2. 옵션


r : 디렉토리 내 모든 파일, 디렉토리 복사

p : 원본 파일의 권한이나 속성을 유지하며 복사 (소문자 구분)

P : 포트 번호 지정 (대문자 구분)

c : 압축

v : 과정 출력

a : 아카이브 모드로 전송



3. 사용


예) scp root@192.168.0.100:/data/test.txt root@192.168.0.101:/data/

-  100번 서버에 있는 data 디렉토리 내에 test.txt 파일을 101번 서버 data 디렉토리 안에 복사한다.


예) scp -rP 200 /data root@192.168.0.100:/

-  로컬 서버의 data 디렉토리 전체를4 200번 포트를 사용하여 100번 서버 / 밑에 복사한다.