hanker

Linux - scp 명령어 (서버끼리 안전하게 파일 복사 명령어) 본문

SERVER/Linux

Linux - scp 명령어 (서버끼리 안전하게 파일 복사 명령어)

hanker 2025. 1. 19. 00:00
반응형

이번 글에서는 다른 서버에 파일을 안전하게 복사해주는 scp 명령어 (Secure Copy)에 대해서 알아봅시다!

 


 

1. 기본 사용법
 
# scp [옵션] [원본 경로] [사용자명@원격서버주소:대상 경로]

scp file.txt user@remote_host:/path/to/destination/

 

- file.txt: 로컬 파일 이름

- user: 원격 시스템 사용자 이름

- remote_host: 원격 서버의 IP 주소 또는 호스트 이름

- /path/to/destination/: 원격 시스템의 저장 경로


2. 주요 옵션

 

주요 옵션 정리

 

옵션 설명
-r 디렉토리와 그 하위 내용을 재귀적으로 복사
-P SSH 연결에 사용할 포트 번호 지정
-i 인증에 사용할 개인 키 파일을 지정
-v 전송 과정을 자세하게 출력하여 디버깅
-C 전송 중 데이터를 압축하여 전송 속도를 높인다.

 


3. 배포판별 차이점

 

기본적으로 대부분의 리눅스 배포판에서 openssh-client 패키지에 scp가 포함되어 있다.

또한, 명령어 사용법, 구문도 배포판에 관계없이 동일하다.

 

설치

# ubuntu / debian
sudo apt update
sudo apt install openssh-client

# redhat / centos
sudo yum install openssh-clients

4. 실제 사용 예제

 

4.1 로컬에서 원격 서버로 파일 전송

scp myfile.txt user@192.168.1.10:/home/user/

 

 

4.2 원격 서버에서 로컬로 파일 다운로드

scp user@192.168.1.10:/home/user/myfile.txt /local/path/

 

 

4.3 디렉토리 전송

scp -r /local/dir user@remote_host:/remote/dir

 

 

4.4 특정 SSh 포트 사용

scp -P 2222 file.txt user@remote_host:/path/to/destination/

 

 

4.5 SSH 키 인증 사용

scp -i ~/.ssh/id_rsa file.txt user@remote_host:/path/to/destination/

 

 


 

5. SCP의 장점과 단점

 

장점

- 간단한 명령어로 파일을 전송할 수 있음

- SSH 프로토콜을 사용하므로 보안성이 뛰어남

 

단점

- 대용량 데이터 전송 시 속도가 느릴 수 있음

- 복잡한 작업에는 rsync와 같은 대안이 더 적합할 수 있음


6. SCP 명령어를 사용하기 전 주의 사항!

 

주의사항 설명
SSH 설정 확인 scp 명령어는 SSH 프로토콜을 기반으로 동작하므로, 원격 서버에서도 SSH 서비스가 활성화 되어 있어야 한다.
네트워크 연결 및 방화벽 설정 서버와 클라이언트 간 네트워크 연결이 원할해야하고, 방화벽 설정에서 scp가 사용하는 포트(기본 포트: 22)가 열려 있는지 확인해야 한다.
인증 방식 설정 비밀번호 인증 대신 SSH 키를 사용하여 인증을 설정하면 보안성을 높일 수 있다.
전송 파일의 크기와 네트워크 상태 대용량 파일을 전송할 경우 네트워크 상태에 따라 전송이 지연되거나 중단될 수 있다.
이러한 상황에서는 rcync 명령어 같은 다른 대안 방법을 고려해야 한다.
파일 권한 및 소유권 유지 전송 후에도 파일의 권한, 소유권, 타임스탬프 등을 유지하려면 -p 옵션을 사용하면 된다.
전송 중 데이터 압축 네트워크 대역폭을 절약하고 전송 속도를 높이기 위해 -C 옵션을 사용하여 데이터를 압축하여 전송한다.

 


scp는 서버 간 파일을 안전하게 전송하는 데 필수적인 도구이다.

또한 rsync 같은 명령어도 비슷하게 사용되니 확인 후 필요한 명령어로 원격 서버에 파일을 보내거나 가져오길 바란다!

 

끝.!

반응형