0Pricing
Linux Server Deployment & SSH Mastery · 강의

SCP, SFTP와 rsync로 안전한 파일 전송

암호화된 SSH 채널을 통해 컴퓨터 간에 파일을 이동합니다. scp, sftp, rsync를 비교하고 핵심 옵션을 익혀 일회성 복사, 대화형 전송, 효율적인 동기화에 적합한 도구를 선택합니다.

SCP, SFTP와 rsync로 안전한 파일 전송은(는) CoddyKit의 무료 Linux Server Deployment & SSH Mastery 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Linux Server Deployment & SSH Mastery 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Linux Server Deployment & SSH Mastery 강의에는 총 4개의 강의가 포함되어 있습니다.

SSH를 통한 파일 전송

터널, 에이전트, 다중 홉 연결을 익히셨습니다. 동일한 SSH 기반으로 안전한 파일 전송도 수행할 수 있으므로 별도의 서비스나 열린 포트가 필요하지 않습니다.

SSH를 기반으로 동작하는 도구는 세 가지입니다. 빠른 복사에는 scp, 대화형 세션에는 sftp, 효율적인 동기화에는 rsync를 사용합니다.

scp: 간단한 복사

scp는 시스템 간에 작업한다는 점을 제외하면 cp와 똑같이 작동합니다. 원격 측에는 user@host:path 구문을 사용합니다.

다음 명령은 로컬 파일을 서버에 업로드합니다.

scp report.pdf deploy@server:/home/deploy/docs/

scp: 다운로드 및 디렉터리

인수의 순서를 바꾸면 다운로드할 수 있습니다. 전체 디렉터리를 재귀적으로 복사하려면 -r을 추가하십시오.

scp deploy@server:/var/log/app.log ./
scp -r deploy@server:/etc/myapp ./backup/

사용자 지정 포트와 키를 사용하는 scp

서버가 표준 포트가 아닌 다른 포트를 사용한다면 scp에서는 대문자 -P를 사용한다는 점에 유의하십시오(ssh의 소문자 -p와 다릅니다). -i로 특정 키를 지정할 수도 있습니다.

scp -P 2222 -i ~/.ssh/deploy_key file.txt deploy@server:/tmp/

sftp: 대화형 전송

sftp는 FTP 프롬프트와 비슷하지만 완전히 암호화된 대화형 세션을 엽니다. 익숙한 명령으로 탐색하고 전송할 수 있습니다.

  • put file — 업로드
  • get file — 다운로드
  • ls, cd, pwd — 원격 탐색
  • lcd, lls — 로컬 탐색
sftp deploy@server
sftp> cd /var/www
sftp> put index.html
sftp> get backup.tar.gz

rsync가 다른 이유

rsync는 변경된 파일 부분만 전송합니다. 반복해서 실행할 때는 scp보다 훨씬 빠르므로 백업과 배포에 가장 적합한 도구입니다.

동일한 암호화를 사용하도록 기본적으로 SSH를 통해서도 실행됩니다.

rsync 기본 사용법

일반적으로 사용하는 옵션 조합은 -avz입니다.

  • -a — 보관 모드(권한, 시간, 심볼릭 링크 유지)
  • -v — 자세한 출력
  • -z — 전송 중 압축

다음 명령은 로컬 폴더를 서버에 그대로 복제합니다.

rsync -avz ./site/ deploy@server:/var/www/site/

끝 슬래시가 중요한 이유

rsync에서는 원본 경로 끝의 슬래시가 결과를 바꿉니다.

  • src/ — src의 내용을 대상에 복사합니다
  • src — src 디렉터리 자체를 대상 안에 복사합니다

잘못 사용하면 중첩된 폴더가 생기므로 신중하게 지정하십시오.

rsync -avz src/  dest/   # contents of src into dest
rsync -avz src   dest/   # creates dest/src/

파일 미러링 및 제외

--delete는 원본에 없는 파일을 삭제하여 대상을 원본과 정확히 같게 만듭니다. 특정 경로를 건너뛰려면 --exclude를 사용하십시오.

항상 먼저 --dry-run과 함께 실행해 확인하십시오.

rsync -avz --delete --exclude '.git' --dry-run ./ deploy@server:/var/www/

사용자 지정 SSH 설정으로 rsync 실행

표준 포트가 아닌 포트나 특정 키를 사용하려면 -e로 SSH 명령을 명시적으로 전달하십시오. ~/.ssh/config에서 구성한 모든 설정도 그대로 적용됩니다.

rsync -avz -e 'ssh -p 2222 -i ~/.ssh/deploy_key' ./ deploy@server:/var/www/

권장 사항

파일을 안전하고 효율적으로 전송하려면 다음을 따르십시오.

  • 한 번만 빠르게 복사할 때는 scp를 사용하십시오
  • 대화형으로 탐색해야 할 때는 sftp를 사용하십시오
  • 반복적인 동기화와 백업에는 rsync를 사용하십시오
  • --delete를 사용하기 전에 항상 --dry-run을 실행하십시오

빠른 확인

안전한 전송에 대한 지식을 확인해 보십시오.

복습

이제 SSH를 통해 파일을 안전하게 이동할 수 있습니다.

  • scp — 간단한 복사(-r, -P, -i)
  • sftp — 대화형 put/get 세션
  • rsync — -avz, --delete, --exclude를 사용하는 효율적인 변경분 동기화

세 도구 모두 기존 SSH 키와 구성을 재사용하므로 고급 SSH 도구 모음을 완성할 수 있습니다.

자주 묻는 질문

“SCP, SFTP와 rsync로 안전한 파일 전송” 강의는 무료인가요?

네 — “SCP, SFTP와 rsync로 안전한 파일 전송” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Linux Server Deployment & SSH Mastery 강의 전체를 잠금 해제할 수 있습니다. Linux Server Deployment & SSH Mastery 강의에는 총 4개의 강의가 포함되어 있습니다.

“SCP, SFTP와 rsync로 안전한 파일 전송”에서 뭘 배우나요?

암호화된 SSH 채널을 통해 컴퓨터 간에 파일을 이동합니다. scp, sftp, rsync를 비교하고 핵심 옵션을 익혀 일회성 복사, 대화형 전송, 효율적인 동기화에 적합한 도구를 선택합니다. 브라우저에서 직접 실행하는 실습 코드로 Linux Server Deployment & SSH Mastery을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Linux Server Deployment & SSH Mastery을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Linux Server Deployment & SSH Mastery은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“SCP, SFTP와 rsync로 안전한 파일 전송” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Linux Server Deployment & SSH Mastery 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Linux Server Deployment & SSH Mastery 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. SSH 포트 전달(로컬/원격)
  2. SSH 터널 및 SOCKS 프록시
  3. SSH 에이전트 및 다중 홉
  4. SCP, SFTP와 rsync로 안전한 파일 전송
← Linux Server Deployment & SSH Mastery(으)로 돌아가기