scp와 sftp 사용법 (서버 파일 업로드와 다운로드)
서버에 설정 파일을 올리거나, 서버의 로그나 백업 파일을 내 컴퓨터로 가져올 때 가장 간단한 방법은 SSH를 그대로 이용하는 scp와 sftp다. 별도 프로그램 설치 없이 SSH 접속만 되면 바로 쓸 수 있다. 이 글에서는 scp sftp 사용법 예제와 포트, 키 지정, 폴더 전송 방법을 정리한다. SSH 키 설정은 SSH 키 인증 설정 방법에 먼저 정리해 두었다.

scp와 sftp, rsync 차이
| 도구 | 특징 | 어울리는 상황 |
|---|---|---|
| scp | 한 줄 명령으로 바로 복사 | 파일 몇 개를 빠르게 주고받기 |
| sftp | 접속한 뒤 대화형으로 탐색하며 주고받기 | 어떤 파일이 있는지 보면서 고를 때 |
| rsync | 바뀐 부분만 전송, 이어받기 | 큰 디렉터리, 반복 백업 |
반복 백업이나 큰 폴더 동기화는 rsync가 낫고, 파일 몇 개를 주고받는 일상 작업은 scp와 sftp가 편하다.
scp sftp 사용법 1: scp로 파일 복사
# 내 컴퓨터 → 서버
scp ./nginx.conf admin@192.168.0.20:/tmp/
# 서버 → 내 컴퓨터
scp admin@192.168.0.20:/var/log/nginx/access.log ./
# 폴더째 복사 (-r)
scp -r ./site admin@192.168.0.20:/var/www/
# 포트와 키 지정 (포트는 대문자 -P)
scp -P 2222 -i ~/.ssh/id_ed25519 backup.tar.gz admin@192.168.0.20:/backup/ssh는 소문자 -p로 포트를 지정하지만 scp는 대문자 -P다. 자주 헷갈리는 부분이다. SSH 포트를 바꿨다면 SSH 포트 변경 방법도 참고하자.
~/.ssh/config로 짧게 쓰기
# ~/.ssh/config 에 Host web1 을 만들어 두었다면
scp backup.tar.gz web1:/backup/
sftp web1scp sftp 사용법 2: sftp 대화형 전송
sftp -P 2222 admin@192.168.0.20
sftp> pwd # 서버 현재 위치
sftp> lpwd # 내 컴퓨터 현재 위치
sftp> ls # 서버 파일 목록
sftp> cd /var/log/nginx
sftp> get access.log # 내려받기
sftp> lcd ~/Downloads
sftp> put report.html /tmp/ # 올리기
sftp> get -r logs # 폴더 내려받기
sftp> exit서버의 보호된 경로에 파일을 배치해야 한다면 일반 계정이 쓸 수 있는 임시 경로로 먼저 전송하고, sudo 권한 설정을 확인한 뒤 필요한 복사 작업만 관리자 권한으로 실행하자.
l이 붙은 명령(lcd, lls, lpwd)은 내 컴퓨터 쪽, 붙지 않은 명령은 서버 쪽을 다룬다고 기억하면 쉽다. FileZilla나 Cyberduck 같은 프로그램도 SFTP를 지원해서 화면으로 파일을 끌어다 놓을 수 있다.
자주 만나는 문제
- Permission denied: 서버 쪽 대상 디렉터리에 쓰기 권한이 없다. /tmp에 올린 뒤 sudo mv로 옮기거나 권한을 확인한다(chmod와 chown).
- Connection refused / timed out: 포트나 방화벽 문제다(SSH 접속 안될 때 확인할 것).
- 파일 이름에 공백: 따옴표로 감싸거나 역슬래시로 공백을 이스케이프한다.
- 전송이 끊김: 큰 파일은 rsync -P로 이어받기 하거나 tmux 안에서 실행한다.
scp 동작 방식의 변화
OpenSSH 9.0부터 scp 명령은 내부적으로 예전 SCP 프로토콜 대신 SFTP 프로토콜을 기본으로 쓴다. 사용법은 같아서 평소에는 신경 쓸 일이 없지만, 아주 오래된 서버와 연결할 때 문제가 생기면 -O 옵션으로 예전 방식을 쓸 수 있다. 자세한 내용은 OpenSSH 매뉴얼에 있다.
scp sftp 사용법 정리
파일 몇 개는 scp, 둘러보며 고를 때는 sftp, 큰 폴더와 반복 작업은 rsync로 기억하면 된다. 웹 서버 로그를 분석하는 방법은 전날 글인 GoAccess 로그 분석에 있다.
첫 댓글을 남겨보세요