본문 바로가기

Linux

[Linux] scp를 이용하여 다른 서버에 파일 전송하기

반응형

scp는 리눅스 원격지 서버에 파일 전송을 할때 사용하는 명령어 이다.
예를들어 나같은경우 1개의 서비스를 위해 8대의 서ㅣ버를 운영중인데, 이 8대의 서버의 역할이 모두 다르다.
이중에서 보안 정책상 내 로컬PC에서 접속이 가능한 서버는 웹서버 4대인데, 가끔씩 웹서버 외의 다른 서버에서 로그등과 같은 파일을 내려받거나 또는 반대로 해당 서버로 파일을 업로드 해야 할때가 있다.

이럴때 사용하는 파일 전송 명령어가 scp 이다.

나는 접속이 가능한 서버에 해당 파일을 업로드 한후 해당 서버에서 scp 명령어를 통해 원하는 서버로 파일을 전송한다.
물론 서버간에는 방화벽등이 오픈되어 있어야 한다. FTP를 통해 다이렉트 접속이 되지 않는만큼 가장 최선의 방법이라고 할 수 있다.

또 특정 서버끼리 파일을 주고 받을때에도 scp를 활용하면 편리하게 작업이 가능하다.

scp의 기본 사용방법은 다음과 같다

 scp [전송할 파일] [원격지 사용자ID]@[원격지 서버 IP]:[전송될 경로]
 [tour@tourWeb ~]$ scp log.txt tour@192.168.0.11:/home/tour/log/




여러개의 파일 보내기

 scp [전송할 파일1] [전송할 파일2] [원격지 사용자ID]@[원격지 서버 IP]:[전송될 경로]
 [tour@tourWeb ~]$ scp log.txt test.txt tour@192.168.0.11:/home/tour/log/




디렉토리를 전체 전송할때에는 -r 옵션을 사용하면 된다.

scp -r [전송할 디렉토리] [원격지 사용자ID]@[원격지 서버 IP]:[전송될 경로]
 [tour@tourWeb ~]$ scp -r /home/log/ tour@192.168.0.11:/home/tour/log/


scp 명령어를 입력하고 엔터를 치면 해당 원격지 서버 계정의 패스워드를 입력하고 나온다.

패스워드를 입력하면 파일전송이 된다.