Overview
SCP(Secure Copy Protocol)는 네트워크를 통해 안전하게 파일을 전송하는 프로토콜이다.
기본적으로 SSH(Secure Shell) 프로토콜을 기반으로 동작하며, 로컬과 원격 서버 간의 데이터를 암호화하여 전송할 수 있다.
이 글에서는 SCP의 개념과 사용법을 정리하고, 다양한 파일 전송 사례를 실습을 통해 알아본다.

SCP란?
SCP(Secure Copy Protocol)는 로컬 호스트와 원격 호스트 간 또는 원격 호스트 간의 안전한 파일 전송을 위한 프로토콜이다.
SSH(Secure Shell)를 기반으로 하므로 암호화된 통신을 보장하며, Telnet 또는 FTP보다 보안성이 우수하다.
💡 SCP의 주요 특징
- SSH 기반 암호화 지원 → 데이터 전송 시 보안 강화
- 빠른 파일 전송 속도 → FTP/SFTP보다 단순한 구조로 전송 속도가 빠름
- 파일/디렉터리 전송 가능 → -r 옵션을 사용하여 디렉터리도 전송 가능
- 원격에서 로컬 다운로드 가능 → 양방향 파일 전송 지원
사용법
💡 구문 기본 형식
scp [옵션] [소스 경로] [대상 경로]
1️⃣ 로컬(Local) → 원격(Remote) 파일 전송
① 단일 파일 전송
scp [옵션] [파일명] [원격지_사용자]@[원격지_IP]:[저장 경로]
📌 예제
scp test.txt user@192.168.1.10:/home/user/
test.txt
파일을192.168.1.10
의 /home/user/
경로로 전송
✅ 전송 확인
ssh user@192.168.1.10 ls -l /home/user/test.txt
② 여러 파일 전송
scp file1.txt file2.txt user@192.168.1.10:/home/user/
file1.txt, file2.txt
파일을/home/user/
경로로 전송
③ 디렉터리 전체 전송 (-r 옵션)
scp -r my_folder user@192.168.1.10:/home/user/
my_folder
디렉터리 전체를/home/user/
경로로 복사
✅ 전송 확인
ssh user@192.168.1.10 ls -l /home/user/my_folder/
2️⃣ 원격(Remote) → 로컬(Local) 파일 다운로드
① 단일 파일 다운로드
scp user@192.168.1.10:/home/user/test.txt .
192.168.1.10
의/home/user/test.txt
를 현재 디렉터리로 다운로드
✅ 다운로드 확인
ls -l test.txt
② 여러 파일 다운로드
scp user@192.168.1.10:/home/user/{file1.txt,file2.txt} .
{}
를 사용하여 여러 개의 파일을 한 번에 가져올 수 있음
③ 디렉터리 전체 다운로드 (-r
옵션)
scp -r user@192.168.1.10:/home/user/my_folder .
/home/user/my_folder
전체를 로컬로 다운로드
✅ 다운로드 확인
ls -l my_folder/
3️⃣ 원격 → 원격 서버 간 파일 전송
scp user1@192.168.1.10:/home/user1/test.txt user2@192.168.1.20:/home/user2/
- 192.168.1.10 서버에서 192.168.1.20 서버로 직접 전송
- 중간에 로컬 PC를 거치지 않고 서버 간 직접 파일 이동 가능
SCP 주요 옵션 정리
옵션 | 설명 |
-r | 디렉터리 전송 |
-P [포트] | 기본 포트(22) 변경 |
-C | 압축하여 전송 (빠른 속도) |
-v | 상세 로그 출력 |
-i [key_file] | SSH 키 파일 사용 |
✅ 예제: SSH 키 인증 및 포트 변경하여 파일 전송
scp -P 2222 -i ~/.ssh/id_rsa test.txt user@192.168.1.10:/home/user/
SCP 보안 강화 설정
1️⃣ 강력한 암호화 알고리즘 사용 (/etc/ssh/sshd_config 설정)
Ciphers aes256-ctr,aes192-ctr,aes128-ctr
✅ SSH 서비스 재시작
systemctl restart sshd
2️⃣ Root 계정 로그인 차단
PermitRootLogin no
3️⃣ 패스워드 로그인 비활성화 (키 인증 사용)
PasswordAuthentication no
✅ 설정 적용 후 SSH 재시작
systemctl restart sshd
마무리
SCP는 SSH를 기반으로 안전한 파일 전송을 지원하는 강력한 도구이다.
FTP보다 보안성이 뛰어나며, 간단한 명령어로 서버 간 파일 전송을 신속하게 수행할 수 있다.
💡 정리
- 기본적으로 SSH를 이용하여 파일을 암호화하여 안전하게 전송
- -r 옵션을 사용하여 디렉터리 전체 전송 가능
- 원격 → 로컬 다운로드 및 원격 → 원격 파일 이동 지원
- SCP 보안을 강화하려면 SSH 보안 설정 및 공개 키 인증 사용 필수
이제 SCP 명령어를 실습해보며, 효율적인 파일 전송을 익혀보자!
Reference
'Networking, Security, Protocols' 카테고리의 다른 글
RSA 공개키를 이용한 SSH 접속 (0) | 2022.01.20 |
---|---|
DNS(Domain Name System) (0) | 2022.01.19 |
NFS(Network File System) / auto fs(auto file system) (0) | 2022.01.18 |
FTP란? FTP Server란? (0) | 2022.01.18 |
SSH(Secure Shell) (0) | 2022.01.17 |