SCP(Secure Copy)란?
SCP(Secure Copy)는 리눅스 및 유닉스 시스템에서 원격 서버 간 안전하게 파일을 복사하는 명령어입니다. SSH(Secure Shell) 프로토콜을 기반으로 동작하여, 전송 과정에서 데이터를 암호화하여 보안성을 보장합니다.
SSH 기반의 파일 전송 방법에는 scp뿐만 아니라 rsync, sftp 등의 방법이 있지만, SCP는 간단한 사용법과 빠른 속도로 널리 활용됩니다.
SCP 명령어 기본 문법
SCP 명령어의 기본적인 형식은 다음과 같습니다.
scp [옵션] [소스 경로] [목적지 경로]
예제:
scp myfile.txt user@remote_host:/home/user/
위 명령어는 myfile.txt
파일을 원격 서버의 /home/user/
디렉터리에 복사합니다.
SCP를 활용한 파일 전송 예제
1. 로컬에서 원격 서버로 파일 전송
scp localfile.txt user@192.168.1.100:/home/user/
localfile.txt
파일을 원격 서버(192.168.1.100
)의/home/user/
디렉터리로 복사합니다.
2. 원격 서버에서 로컬로 파일 가져오기
scp user@192.168.1.100:/home/user/remote_file.txt ./
- 원격 서버(
192.168.1.100
)의remote_file.txt
파일을 현재 로컬 디렉터리(./
)로 다운로드합니다.
3. 디렉터리 전체 복사 (-r
옵션 사용)
scp -r /home/user/myfolder user@192.168.1.100:/backup/
/home/user/myfolder
디렉터리를 원격 서버의/backup/
디렉터리로 복사합니다.
4. 특정 포트로 전송 (-P
옵션 사용)
scp -P 2222 file.txt user@remote_host:/home/user/
- SSH 기본 포트(22)가 아닌 2222 포트를 사용하여 파일을 전송합니다.
5. 전송 속도를 제한하기 (-l
옵션 사용)
scp -l 1000 largefile.iso user@192.168.1.100:/backup/
- 초당 1000Kb(약 125KB/s)의 속도로
largefile.iso
를 전송합니다.
SCP 전송 시 유용한 옵션 정리
옵션 | 설명 |
---|---|
-r |
디렉터리 및 하위 파일을 재귀적으로 복사 |
-P |
SSH 포트 지정 (기본값: 22) |
-C |
데이터 압축을 통해 전송 속도 향상 |
-l |
전송 속도를 제한(Kbit/s 단위) |
-v |
디버깅 모드 활성화 (자세한 로그 확인) |
SCP 보안 고려 사항
- SSH 키 인증 설정: SSH 키 인증을 사용하면 암호 입력 없이 자동화가 가능하며 보안성이 향상됩니다.
- 방화벽 및 네트워크 설정: SSH 포트(기본 22번)가 방화벽에서 허용되어 있는지 확인하세요.
- 전송 중 암호화: SCP는 기본적으로 SSH를 활용해 데이터를 암호화하여 보호합니다.
- 로그 및 감사:
-v
옵션을 사용하면 파일 전송 과정의 로그를 자세히 확인할 수 있습니다. - 속도 조절: 너무 많은 파일을 한꺼번에 전송하면 네트워크 부하가 발생할 수 있으므로,
-l
옵션으로 속도를 조절하세요.
SCP 활용 사례
- 원격 서버에 백업 파일 저장: 주기적으로 서버에 중요한 데이터를 백업
- 서버 간 파일 전송 자동화: 크론(cron) 작업과 함께 사용하여 정기적인 데이터 전송 실행
- 대용량 데이터 마이그레이션: 한 서버에서 다른 서버로 데이터 이동
SCP와 Rsync 비교
비교 항목 | SCP | Rsync |
---|---|---|
프로토콜 | SSH 기반 | SSH 또는 자체 프로토콜 지원 |
속도 | 비교적 빠름 | 증분 전송으로 효율적 |
복사 방식 | 전체 파일 전송 | 변경된 부분만 전송 |
사용 용도 | 단순한 파일/디렉터리 복사 | 대용량 데이터 동기화 |
결론
리눅스 scp
명령어는 간단하면서도 강력한 원격 파일 전송 도구입니다. 보안성이 뛰어나고 사용법이 직관적이기 때문에 다양한 환경에서 널리 사용됩니다. 특히 SSH 기반 보안 기능을 갖추고 있어 안전한 전송을 보장합니다. 대량의 파일을 효율적으로 동기화해야 한다면 rsync
도 좋은 대안이 될 수 있습니다.
SCP를 효과적으로 활용하여 보다 안전하고 효율적인 파일 전송을 경험해보세요!