리눅스 SCP 명령어 완벽 가이드

도입부

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를 활용하여 보다 효율적으로 파일을 관리해보세요!

Leave a Comment