본문 바로가기
BackEnd/Project

[RealPJ] Ch03. 배포 파일 원격 서버로 전송

by 개발 Blog 2024. 8. 31.

공부 내용을 정리하고 앞으로의 학습에 이해를 돕기 위해 작성합니다.

 

배포 파일을 원격 서버로 전송

운영 서버는 배포 파일만 전송한다. Intellij와 같은 IDE를 사용해 서버를 배포하지 않는다.

그렇다면 원격 서버로 파일을 전송하려면 어떻게 해야 할까? SCP 명령어를 사용하면 된다.

 

SCP (Secure Copy) 

정의

SCP(Secure Copy)는 명령줄 유틸리티로, 두 위치 간에 파일과 디렉토리를 안전하게 복사할 수 있게 해준다.

 

언제 사용할까?

  • local -> remote
    예시: SSL 인증서
  • remote -> local
    예시: Heap Dump 파일
  • remote -> remote
    예시: Server Config 파일

Feature 알아보기

  • SCP는 SSH를 사용하므로 SSH Key 혹은 Password가 필요하다.
  • 콜론(":")을 사용하여 서버 위치와 디렉토리 위치를 구분한다.
  • SCP 명령어를 사용하기 위해서는 Source 파일에 대한 Read 권한과 Target 서버에 Write 권한이 있어야 한다.
  • 동일한 파일 이름과 경로가 Target 서버에 존재한다면, 경고 없이 Overwrite된다.

Syntax & Usage

일반적인 상황

scp file.txt remote_username@1.1.1.1:/remote/directory

 

파일명을 다르게 저장

scp file.txt remote_username@1.1.1.1:/remote/directory/NEW_FILE_NAME.txt

 

특정 포트로 전송

scp -P 1234 file.txt remote_username@1.1.1.1:/remote/directory

Directory 복사 & 전송

scp -r /local/directory remote_username@1.1.1.1:/remote/directory

 

실습

이 실습에서는 로컬에서 생성한 파일을 원격 서버로 전송하는 방법을 알아본다. 이를 위해 터미널을 두 개 실행한다. 하나는 로컬에서 사용하고, 다른 하나는 원격 서버에 접속하기 위한 용도로 사용한다. 이 실습에서는 필자의 윈도우 컴퓨터 주소로 원격 서버에 접속했다.

1. 로컬에서 파일 생성 및 전송

먼저, 로컬에서 test.text 파일을 생성한 후, 이를 원격 서버에 전송해본다.

  • 전송완료

  • 전송이 완료된 후, 원격 서버에 접속하여 파일이 잘 전송되었는지 확인할 수 있다.

2. 파일명을 다르게 전송

이번에는 파일명을 다르게 설정하여 동일한 파일을 전송해본다.

 

  • 원하는 파일명으로 잘 전송된 것을 확인할 수 있다.

3. 디렉토리 단위로 전송

마지막으로 scp_folder라는 디렉토리를 생성하고, 이 폴더를 통째로 원격 서버로 전송해본다.

 

클라이언트

 

서버

 

디렉토리와 그 안의 내용이 모두 전송된 것을 확인할 수 있다.

 

이와 같이 SCP 명령어를 사용하면, 로컬에서 원격 서버로 파일이나 디렉토리를 손쉽게 전송할 수 있다. 실습을 통해 SCP 명령어의 기본적인 사용법을 익히고, 원격 서버로의 파일 전송 작업을 보다 효율적으로 수행할 수 있게 되었다.