목차
도입부
IT 개발자라면 원격 서버 간 파일 전송이 필요할 때가 많습니다. 이때 가장 많이 사용되는 명령어 중 하나가 scp
(Secure Copy)입니다. scp
는 SSH(Secure Shell) 프로토콜을 이용하여 보안성이 뛰어나며, 간단한 명령어만으로 로컬과 원격 서버 간 파일을 주고받을 수 있습니다. 이 글에서는 scp
명령어의 기본 사용법부터 고급 옵션까지 상세히 설명합니다.
본론
1. SCP란?
SCP(Secure Copy)는 SSH 기반으로 동작하는 파일 전송 명령어입니다. FTP와 달리 추가적인 설정 없이 SSH 접속이 가능한 환경이라면 바로 사용할 수 있습니다. 또한, SCP는 보안성이 뛰어나며, 명령어만 입력하면 손쉽게 파일을 복사할 수 있어 서버 관리 및 개발 환경에서 필수적인 도구로 여겨집니다.
2. SCP 기본 사용법
scp
명령어는 다음과 같은 형식으로 사용됩니다:
scp [옵션] [원본 경로] [대상 경로] |
예제:
scp myfile.txt user@remote:/home/user/ |
위 명령어는 현재 디렉토리에 있는 myfile.txt
파일을 원격 서버의 /home/user/
디렉토리로 복사합니다.
3. SCP 주요 옵션
옵션 | 설명 |
---|---|
-P | 포트 번호 지정 (SSH 기본 포트가 아닌 경우 필요) |
-r | 디렉토리 전체를 복사 |
-C | 파일 압축 전송 (전송 속도 향상) |
-p | 원본 파일의 속성 유지 |
-q | 진행률 표시 없이 조용히 실행 |
예제:
scp -r myfolder user@remote:/home/user/ |
위 명령어는 myfolder
디렉토리를 원격 서버로 복사합니다.
4. SCP로 원격에서 로컬로 파일 가져오기
파일을 원격에서 로컬로 가져오려면 대상과 원본 경로의 순서를 바꾸면 됩니다.
scp user@remote:/home/user/myfile.txt ./ |
위 명령어는 원격 서버에 있는 myfile.txt
파일을 현재 디렉토리로 다운로드합니다.
5. 특정 포트로 SCP 실행하기
기본적으로 scp
는 SSH의 22번 포트를 사용하지만, 특정 포트를 사용할 수도 있습니다.
scp -P 2222 myfile.txt user@remote:/home/user/ |
위 명령어는 2222번 포트를 이용하여 myfile.txt
를 전송합니다.
6. SSH 키를 이용한 비밀번호 없는 SCP 사용
SCP를 사용할 때 매번 비밀번호를 입력하는 것이 번거롭다면 SSH 키를 설정할 수 있습니다.
ssh-keygen -t rsa ssh-copy-id user@remote |
이후 SCP를 실행하면 비밀번호 입력 없이 파일을 전송할 수 있습니다.
7. SCP 전송 속도 제한
네트워크 대역폭을 조절하기 위해 -l
옵션을 사용하여 전송 속도를 제한할 수 있습니다.
scp -l 1000 myfile.txt user@remote:/home/user/ |
위 명령어는 myfile.txt
파일을 초당 1000Kbit로 전송합니다.
결론
SCP 명령어는 리눅스에서 안전하고 효율적으로 파일을 전송할 수 있는 강력한 도구입니다. 기본적인 파일 복사부터 포트 지정, 디렉토리 복사, SSH 키 활용까지 다양한 옵션을 제공하여 개발자들의 업무를 더욱 편리하게 만들어줍니다. 이 글에서 소개한 내용을 바탕으로 SCP를 활용하여 보다 효율적으로 파일을 관리해보세요!