본문 바로가기

Programming/Linux

scp명령어를 이용하여 리눅스 서버 간 파일 이동하기

반응형
안녕하세요. 남산돈가스입니다.

리눅스 서버를 운영 중에 서버와 서버 또는 서버와 로컬 간의 파일을 복사하기 위하여 scp 명령어를 자주 사용합니다. 오늘은 scp 명령어 사용법에 대해서 포스팅 해보겠습니다.

scp 명령어의 기본 사용법은 다음과 같습니다.
$ scp <옵션> <원본 경로 및 파일> <복사 받을 곳 경로 및 파일>

1. 로컬에서 서버로 파일 복사하기

첫번 째로 로컬에서 서버로 파일을 복사하기 위해서 test 파일을 하나 생성합니다.
$ touch scpTest
$ ls -al scpTest
-rw-r--r-- 1 gimseongsin staff 0B 11 21 16:40 scpTest

테스트로 생성한 scpTest라는 파일을 remote 서버로 복사해보겠습니다.
$ scp scpTest ubuntu@13.124.XXX.XXX:/home/ubuntu
scpTest 100% 0 0.0KB/s 00:00

$ scp <복사할 로컬파일 경로> <계정>@<호스트주소>:<복사 될 경로>

위와 같은 명령어를 통해 로컬에서 Remote 서버로 파일을 복사한 것을 확인 할 수 있습니다.

2. 서버에서 로컬로 파일 복사하기

두번 째로는 Remote서버에 있는 파일을 로컬환경으로 가져오는 방법입니다.

먼저 Remote 서버에서 로컬로 전송할 파일을 생성합니다.
$ touch remoteToLocal
$ ls -al remoteToLocal
-rw-rw-r-- 1 ubuntu ubuntu 0 Nov 21 16:58 remoteToLocal

파일을 생성한 뒤 로컬 터미널 창에서 다음과 같이 입력합니다.
$ scp ubuntu@13.124.XXX.XXX:/home/ubuntu/remoteToLocal /Users/gimseongsin/Desktop/
remoteToLocal 100% 0 0.0KB/s 00:00

$ scp  <계정>@<복사할파일의 호스트주소>:<복사 할 파일 경로>  <로컬 경로>

3. 키 인증 방식으로 파일 복사하기

ssh 접속할 경우와 같이 키 인증이 필요한 서버에 scp명령어를 이용할 경우 scp 옵션을 통해 파일을 복사할 수 있습니다.

기본 명령어는 1번에서 설명한 내용과 동일하며 옵션으로는 -i 옵션을 사용해서 key파일을 지정한 뒤 사용합니다.

$ scp -i keyfile.pem scpTest ubuntu@13.124.XXX.XXX:/home/ubuntu
scpTest 100% 0 0.0KB/s 00:00

$ scp -i <인증키 파일 경로> <복사할 로컬파일 경로> <계정>@<호스트주소>:<복사 될 경로>


위에서 설명한 세가지 방법을 통해 GUI를 이용하지 않고 scp를 간단하게 이용하는 방법을 알아보았습니다.