튜토리얼

SSH로 디렉터리를 복사하는 방법(scp -r, rsync, sftp)

scp는 폴더를 복사하려면 -r가 필요합니다:scp -r ./folder user@host:/path/. 크거나 반복되는 전송에는 rsync, 모바일에서는 SFTP를 사용하세요. 흔한 오류(-r와 대문자 -P 함정)와 어떤 도구를 고를지.

CC Chen Chen· 창업자·2026년 6월 24일·5분 분량

SSH로 디렉터리를 복사하는 방법

scp는 재귀를 지시하지 않으면 폴더를 복사하지 않습니다 —— -r를 추가하세요:

scp -r ./myfolder user@host:/remote/path/

이렇게 하면 디렉터리 트리 전체가 복사됩니다. 크거나 반복되는 전송에는 rsync가 더 낫습니다(이어받기가 되고 변경되지 않은 파일은 건너뜁니다). 모바일에서는 SFTP 앱이 탭 한 번으로 처리해 줍니다. 아래에서 각각의 방법과 흔한 오류를 설명합니다.

scp -r —— 직접적인 방법

# local folder → server
scp -r ./project user@host:/var/www/

# server folder → local
scp -r user@host:/var/log/nginx ./logs

# non-default port (note: capital -P)
scp -P 2222 -r ./project user@host:/var/www/

대부분의 사람이 빠지는 함정:scp는 포트에 대문자 -P를 사용합니다(소문자 -p는 타임스탬프를 보존합니다). 이 둘을 혼동하는 것이 흔한 "scp가 작동하지 않는" 원인입니다.

rsync —— 크거나 반복되는 복사에 더 좋음

크거나, 동기화하거나, 한 번 넘게 실행하는 것이라면 rsync를 쓰세요 —— 변경된 부분만 전송하고 중단되어도 이어받습니다:

rsync -avz ./project/ user@host:/var/www/project/

# with a non-default port or a specific key:
rsync -avz -e "ssh -p 2222 -i ~/.ssh/mykey" ./project/ user@host:/var/www/project/

-a는 권한을 보존하며 재귀하고, -v는 상세 출력, -z는 압축합니다. 소스 끝의 슬래시(project/)에 주의하세요 —— 이는 내용물을 복사합니다. 슬래시가 없으면 폴더 자체를 복사합니다. (rsync에서 특정 키를 사용하는 방법은 특정 SSH 키 사용하기를 참고하세요.)

sftp —— 대화식, 그리고 get -r

둘러보는 것을 선호한다면, sftp는 get -r로 디렉터리를 다운로드합니다:

sftp user@host
sftp> get -r /remote/folder

세 가지 도구와 각각의 사용 시점에 대해서는 SSH로 파일 전송하기를 참고하세요.

흔한 오류

  • "not a regular file" / 아무것도 복사되지 않음 —— 디렉터리에 -r를 빠뜨렸습니다.
  • 잘못된 포트 / connection refused —— scp에서는 -P(대문자)를 사용하고 포트를 확인하세요.
  • Permission denied —— 대상 경로에 쓸 수 없거나 키 인증에 실패했습니다(publickey 가이드).

휴대폰에서 폴더 복사하기

터치 키보드로 scp -r에 두 개의 원격 경로를 입력하는 것은 바로 모바일이 고통스럽게 만드는 종류의 작업입니다. SFTP를 지원하는 클라이언트는 그것을 둘러보기로 바꿔 줍니다:서버의 파일 시스템을 열고, 폴더를 골라, 다운로드하거나 업로드합니다. TermAI의 SFTP는 서버의 파일을 둘러보고, 전송하고, 심지어 직접 편집할 수 있게 해 줍니다. 스크립트화된 복사를 원한다면, AI 어시스턴트가 당신이 검토할 수 있도록 올바른 scp -r 또는 rsync 명령을 작성해 줍니다.

디렉터리를 복사하는 rsync 명령을 제안하는 TermAI
유리 위에서 scp -r에 두 개의 원격 경로를 입력하는 대신 SFTP로 둘러보세요 —— 또는 AI에게 정확한 rsync/scp 명령을 작성하게 하세요.

FAQ

디렉터리를 scp하려면?
-r를 추가해 재귀합니다:scp -r ./folder user@host:/path/. 기본이 아닌 포트에는 대문자 -P를 사용합니다.

왜 scp가 내 폴더를 복사하지 않나요?
-r가 없으면 scp는 디렉터리를 거부합니다("not a regular file"). -r를 추가하세요. 포트에 대문자 -P를 사용했는지도 확인하세요.

디렉터리에는 scp인가 rsync인가?
한 번뿐인 작은 복사에는 scp -r; 크거나, 반복되거나, 중단될 수 있는 것에는 rsync —— 이어받고 변경되지 않은 파일은 건너뜁니다.

sftp로 디렉터리를 다운로드하려면?
sftp user@host로 접속한 다음 get -r /remote/folder를 실행합니다.

빠른 사실

  • 폴더를 scp:scp -r ./folder user@host:/path/(-r는 필수)
  • 포트:scp는 대문자 -P를 사용(소문자 -p = 시간 보존)
  • 크거나/반복:rsync -avz src/ user@host:/dest/ —— 이어받고 변경되지 않은 것은 건너뜀
  • sftp:get -r /remote/folder
  • 모바일:경로를 입력하는 대신 SFTP로 둘러보며 전송
TermAI 사용해 보기

iOS/Android 무료. 무료 플랜은 AI 5회/일, SSH/SFTP 무제한, Tailscale 내장.

CC
Chen Chen — Founder of TermAI

Writes about mobile DevOps, terminal UX, and the surprising depth of "boring" infrastructure.