SFTP 명령어 참고서

OpenSSH sftp 클라이언트의 모든 명령어를 문법과 예시와 함께 담았습니다. 연결, 둘러보기, 전송, 권한, 일괄 스크립트까지. OpenSSH 클라이언트를 함께 담고 있는 Windows 10/11, macOS, Linux에서 똑같이 작동합니다.

2026년 7월 갱신

서버에 연결하기

SFTP는 SSH(기본 포트 22) 위에서 돌아가므로 인증과 호스트 키 확인이 ssh와 똑같이 작동합니다. 다음 옵션들은 세션이 시작되기 전에 명령줄에 붙입니다.

명령어 / 옵션하는 일예시
sftp user@host대화형 SFTP 세션을 시작합니다.sftp alice@example.com
-P port표준이 아닌 포트로 연결합니다(주의: ssh와 달리 대문자 P입니다).sftp -P 2222 alice@example.com
-i keyfile특정 SSH 비공개 키로 인증합니다.sftp -i ~/.ssh/deploy_key alice@example.com
-b file일괄 모드 — 대화 없이 파일에 적힌 명령어를 실행합니다.sftp -b upload.txt alice@example.com
-r세션 전체에서 get/put이 하위 폴더까지 훑도록 합니다.sftp -r alice@example.com
sftp user@host:path파일을 바로 가져오고 끝냅니다(대화형 세션 없이).sftp alice@example.com:/logs/app.log

연결이 거부되거나 멈춘다면 먼저 SFTP 연결 테스터로 서버를 확인하시고, SFTP 인증 방식 확인 도구로 서버가 어떤 인증 방식을 받는지 살펴보세요.

내려받기와 올리기

명령어하는 일예시
get서버에서 파일을 내려받습니다.get report.pdf
get -r디렉터리와 그 안의 모든 것을 내려받습니다.get -r backups
put로컬 파일을 서버로 올립니다.put site.zip
put -r디렉터리를 하위까지 훑어 올립니다.put -r dist
mget무늬에 맞는 여러 파일을 내려받습니다.mget *.log
mput무늬에 맞는 여러 파일을 올립니다.mput *.html
reget일부만 내려받은 파일을 이어받습니다.reget big-backup.tar
reput일부만 올린 파일을 이어서 올립니다.reput big-backup.tar
progress전송 진행 표시를 켜고 끕니다.progress

ascii/binary 전환이 없습니다. SFTP는 언제나 파일을 바이트 그대로 전송하므로 줄 끝 문자 변환으로 파일이 상할 일이 없습니다.

일괄 모드와 스크립트

사람이 지켜보지 않는 전송이라면 명령어를 한 줄에 하나씩 파일에 적고 sftp를 일괄 모드로 실행하세요. 일괄 모드는 첫 오류에서 멈추고 키 기반 인증을 요구합니다. 비밀번호를 물어볼 수 없기 때문입니다.

# upload.txt
cd /var/www/site
lcd C:\Projects\site\dist
put -r .
bye
C:\> sftp -b upload.txt -i C:\keys\deploy_key deploy@example.com

이것도 되기는 하지만, 되풀이되는 작업마다 스크립트와 키, 작업 스케줄러 항목을 관리하게 됩니다. 「이 폴더를 매일 새벽 2시에 올린다」를 화면에서 정의하고 재시도와 알림, 이력까지 갖고 싶으시다면, 그것이 바로 FTPie의 예약 전송이 하는 일입니다.

SFTP 명령어에 대하여

SFTP(SSH File Transfer Protocol)는 SSH 위에 얹은 FTP가 아닙니다. SSH 연결 계층 위에 세워진 별개의 프로토콜이며 IETF의 draft-ietf-secsh-filexfer 문서군에 정의되어 있습니다. Windows와 macOS, Linux의 sftp 명령은 OpenSSH 클라이언트 구현이고, 이 쪽에서 다루는 것이 그 명령어 모음입니다. 모든 것이 SSH 안에서 돌아가므로 열린 포트 하나(22)가 인증과 명령, 암호화된 데이터를 모두 나릅니다. 패시브 모드용 포트 범위도, 설정할 TLS 인증서도 없습니다.

고전적인 FTP에서 넘어오셨나요? 명령어 모음이 겹치기는 하지만 중요한 차이가 있습니다. ftp.exe와 RFC 959 프로토콜 명령어는 FTP 명령어 참고서를 보세요.

자주 묻는 질문

SFTP 명령어는 FTP 명령어와 같나요?

같지 않습니다. SFTP는 SSH 위에서 돌아가는 다른 프로토콜이고, 명령어 모음도 비슷하지만 똑같지는 않습니다. get, put, cd, ls, bye 같은 핵심 명령어는 양쪽에서 모두 되지만, SFTP에는 chmod, ln, df 같은 유닉스식 명령어가 더 있고, 전송을 이어받을 때 reget/reput를 쓰며, ascii/binary 모드가 없습니다. 모든 전송이 이진입니다. 고전적인 FTP 클라이언트의 mdelete, hash, literal 같은 명령어는 sftp에 없습니다.

SFTP로 폴더 전체를 내려받거나 올리려면 어떻게 하나요?

-r(하위 폴더까지) 옵션을 쓰세요. get -r projectfolder는 디렉터리 전체를 내려받고, put -r projectfolder는 올립니다. 대상 디렉터리에 부딪히는 파일이 미리 있으면 안 됩니다. sftp -r user@host로 세션을 시작해 기본적으로 하위 폴더까지 훑게 할 수도 있습니다.

중간에 끊긴 SFTP 전송을 이어받으려면 어떻게 하나요?

일부만 내려받은 파일은 reget 파일이름으로, 올리던 파일은 reput 파일이름으로 이어받으세요. 받는 쪽에 그 일부 파일이 아직 남아 있어야 하며, sftp가 처음부터 다시 하지 않고 멈춘 자리에서 이어 갑니다.

Windows에 SFTP 명령이 기본으로 들어 있나요?

들어 있습니다. Windows 10(1809 이후)과 Windows 11에는 OpenSSH 클라이언트가 함께 담겨 있어서, 명령 프롬프트나 PowerShell에서 sftp user@host를 바로 실행하실 수 있습니다. 추가로 설치할 것은 없습니다. 이 쪽에 적힌 명령어들은 Windows와 macOS, Linux에서 똑같이 작동합니다.

SFTP 전송을 스크립트로 만들거나 자동화하려면 어떻게 하나요?

명령어를 한 줄에 하나씩 텍스트 파일에 적고 sftp -b batch.txt user@host를 실행하세요. 일괄 모드는 대화 없이 인증해야 하므로, 실제로는 SSH 키 인증을 먼저 설정해 두게 됩니다. 정해진 시각에 올리거나 백업하거나 맞추는 되풀이 작업이라면, 예약 기능을 내장한 클라이언트가 스크립트와 작업 스케줄러 항목을 관리하는 수고를 덜어 줍니다.

화면으로 쓰는 SFTP 클라이언트가 좋으신가요?

FTPie는 SSH 키 인증, 호스트 키 확인, 하위 폴더까지 끌어다 놓는 전송, 그리고 내장 예약 기능을 갖춘 현대적인 Windows용 SFTP 클라이언트입니다. 서버 연결 3개까지 무료입니다.

Download FTPie Free