class="layout-aside-right paging-number">
본문 바로가기
카테고리 없음

서버에 파일 업로드하는 3가지 방법 (FTP, SCP, Rsync)

by 탱클 2025. 12. 3.

서버에 파일 업로드하는 3가지 방법 (FTP, SCP, Rsync)

웹 서버를 구축하고 나면 로컬 컴퓨터에 있는 파일을 서버로 업로드해야 할 일이 자주 생긴다. 예를 들어 웹사이트 소스코드, 이미지 파일, 설정 파일 등을 서버에 올릴 때 사용하는 대표적인 방법이 FTP, SCP, Rsync다. 이 글에서는 리눅스 기반 서버에 파일을 업로드하는 주요 방법 3가지를 각각의 특징과 사용법 중심으로 정리한다.

1. FTP – File Transfer Protocol

FTP는 오래전부터 사용된 파일 전송 방식으로, GUI 기반 툴(FileZilla 등)을 함께 사용하면 초보자도 쉽게 활용할 수 있다.

특징

  • 익숙한 인터페이스로 파일 전송 가능
  • GUI 툴을 통해 드래그 앤 드롭 방식 지원
  • 계정 및 포트 설정이 필요하며, 보안이 취약할 수 있음

설치 (Ubuntu 기준)

서버에 FTP 서버 설치 (vsftpd 등):

sudo apt install vsftpd

기본 설정 파일: /etc/vsftpd.conf
설정 후 FTP 계정 생성 및 방화벽 포트(21) 열기 필요

클라이언트 사용 예

  • FileZilla, WinSCP, Cyberduck 등
  • 주소: 서버 IP
  • 포트: 21
  • 사용자명 / 비밀번호 입력 후 접속

2. SCP – Secure Copy

SCP는 SSH를 기반으로 파일을 암호화해 전송하는 방식이다. 리눅스, macOS에서는 기본 명령어로 제공되며, 윈도우에서도 WSL이나 PuTTY를 이용해 사용 가능하다.

특징

  • SSH 기반으로 보안성이 높음
  • 추가 설정 없이 바로 사용 가능
  • CLI 명령어에 익숙해야 함

사용 예시

단일 파일 업로드:

scp localfile.txt 사용자명@서버IP:/home/사용자명/

디렉터리 전체 업로드:

scp -r myfolder/ 사용자명@서버IP:/home/사용자명/

포트 변경 시:

scp -P 2222 localfile.txt 사용자명@서버IP:/경로/

3. Rsync – 동기화 기반 전송

Rsync는 파일 동기화 기능을 제공하는 강력한 CLI 도구로, 대용량 파일이나 반복적인 업로드에 적합하다. 변경된 파일만 전송하므로 효율적이다.

특징

  • 빠르고 효율적인 전송
  • 증분 전송 지원 (변경된 파일만 복사)
  • SSH 기반으로 보안성 높음
  • 백업, 배포 자동화에 활용 가능

사용 예시

디렉터리 전체 업로드:

rsync -avz myfolder/ 사용자명@서버IP:/home/사용자명/myfolder/

포트 변경 시:

rsync -avz -e "ssh -p 2222" myfolder/ 사용자명@서버IP:/home/사용자명/

옵션 설명:

  • -a: 보존 모드(권한, 소유자 등 유지)
  • -v: 출력 표시
  • -z: 전송 중 압축

어떤 방식을 선택해야 할까?

방식 보안성 속도 편의성 추천 상황

FTP 낮음 보통 높음 초보자, GUI 선호할 때
SCP 높음 빠름 보통 단발성 전송, CLI 익숙할 때
Rsync 매우 높음 매우 빠름 낮음 대용량 백업, 자동화 스크립트 등

마무리

서버에 파일을 업로드하는 방법은 환경과 목적에 따라 다양하게 선택할 수 있다. 단순히 몇 개의 파일을 옮길 때는 SCP, 반복적으로 동기화할 필요가 있을 때는 Rsync, GUI 환경이 필요할 땐 FTP가 적합하다. 각 방법을 익혀두면 서버 관리나 배포 과정에서 효율성과 안정성을 모두 확보할 수 있다.