Profile picture

[Linux] SCP - 파일 또는 폴더를 업로드/다운로드

JaehyoJJAng2023년 04월 16일

SCP

간혹 클라이언트에서 특정 서버로 파일이나 디렉토리 전체를 업로드해야 할 떄가 있다.
예를 들면 id_rsa.pub 같은 파일 또는 그 외 다른 것

그럴 때 scp(secure copy)를 사용하면 간편하다. scp는 ssh를 사용해 파일을 전달하게 된다


사용방법

기본적인 scp 명령은 아래와 같다

scp [OPTION] USER@SRC_HOST:file1 USER@SRC_HOST:file2

간단하게 내 파일을 remote server로 전달할 때는 아래와 같다
로컬 내 PC (Mac)에 있는 test.txt 라는 파일을 192.168.121.130인 서버에 root 계정으로 /root/ 안으로 복사(업로드) 해보도록 하자

$ scp ~/test.txt root@192.168.121.130:/root

디렉토리 전체를 업로드할 경우에는 -r 옵션을 사용한다
현재 위치에 있는 testDir 이라는 폴더를 192.168.121.130 서버에 root 계정으로 /root 안으로 업로드해보자

$ scp -r ~/testDir root@192.168.121.130:/root

remove server에서 파일이나 디렉토리를 다운로드 받고 싶다면 위치를 반대로 해주면 된다
192.168.121.130 서버에서 /root/test.txt 파일을 현재 위치에 다운로드 받고 싶다면 아래와 같이 사용한다

$ scp root@192.168.121.130:/root/test.txt ./

remove server A에서 remove server B로 파일이나 디렉토리를 이동시킬 수도 있다
192.168.121.130 에 있는 api-test.sh 파일을 192.168.121.131 서버의 /home/api/data 안으로 이동 시켜보도록 하자

$ scp root@192.168.121.130:/root/api-test.sh root@192.168.121.130:/home/api/data

Loading script...