scp (Secure Copy)
scp는 원격 호스트 간에 파일을 안전하게 복사하기 위한 명령어입니다. ssh 프로토콜을 기반으로 하므로 전송되는 모든 데이터는 암호화되며, 사용법이 일반 cp 명령어와 매우 유사하여 배우기 쉽습니다.
[Image of Linux scp command process showing file transfer between local and remote machines over SSH]
1. 기본 사용법
scp [옵션] [원본] [대상]
- 원격 경로는
사용자명@호스트주소:경로형식으로 작성합니다.
2. 주요 옵션
| 옵션 | 이름 | 설명 |
|---|---|---|
-P [포트] |
port | 대문자 P입니다. SSH 포트가 22번이 아닐 때 사용합니다. |
-r |
recursive | 디렉터리 복사. 폴더 전체를 복사할 때 사용합니다. |
-p |
preserve | 파일의 수정 시간, 권한 등 속성을 그대로 유지하며 복사합니다. |
-i [키파일] |
identity | SSH 키(pem 파일 등)를 사용하여 인증할 때 경로를 지정합니다. |
3. 실무 활용 예시
① 내 컴퓨터의 파일을 서버로 보내기 (Upload)
scp my_photo.jpg root@1.2.3.4:/var/www/html/
② 서버에 있는 파일을 내 컴퓨터로 가져오기 (Download)
scp user@remote-server.com:/home/user/backup.tar.gz ./
③ 서버의 폴더 전체를 내 컴퓨터로 가져오기
scp -r user@remote-host:/home/user/my_project ./local_project
④ 커스텀 포트와 키 파일을 동시에 사용하기
scp -P 2222 -i ~/my_key.pem backup.zip ubuntu@52.1.2.3:/tmp/
4. [팁] scp vs rsync
- scp: 단순하고 빠릅니다. 일회성 파일 전송에 적합합니다.
- rsync: 변경된 부분만 복사(증분 백업)하거나 전송 중단 시 재개하는 기능이 있어, 대용량 폴더 동기화에 더 유리합니다.