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는 SSH 위에서 돌아가는 다른 프로토콜이고, 명령어 모음도 비슷하지만 똑같지는 않습니다. get, put, cd, ls, bye 같은 핵심 명령어는 양쪽에서 모두 되지만, SFTP에는 chmod, ln, df 같은 유닉스식 명령어가 더 있고, 전송을 이어받을 때 reget/reput를 쓰며, ascii/binary 모드가 없습니다. 모든 전송이 이진입니다. 고전적인 FTP 클라이언트의 mdelete, hash, literal 같은 명령어는 sftp에 없습니다.
-r(하위 폴더까지) 옵션을 쓰세요. get -r projectfolder는 디렉터리 전체를 내려받고, put -r projectfolder는 올립니다. 대상 디렉터리에 부딪히는 파일이 미리 있으면 안 됩니다. sftp -r user@host로 세션을 시작해 기본적으로 하위 폴더까지 훑게 할 수도 있습니다.
일부만 내려받은 파일은 reget 파일이름으로, 올리던 파일은 reput 파일이름으로 이어받으세요. 받는 쪽에 그 일부 파일이 아직 남아 있어야 하며, sftp가 처음부터 다시 하지 않고 멈춘 자리에서 이어 갑니다.
들어 있습니다. Windows 10(1809 이후)과 Windows 11에는 OpenSSH 클라이언트가 함께 담겨 있어서, 명령 프롬프트나 PowerShell에서 sftp user@host를 바로 실행하실 수 있습니다. 추가로 설치할 것은 없습니다. 이 쪽에 적힌 명령어들은 Windows와 macOS, Linux에서 똑같이 작동합니다.
명령어를 한 줄에 하나씩 텍스트 파일에 적고 sftp -b batch.txt user@host를 실행하세요. 일괄 모드는 대화 없이 인증해야 하므로, 실제로는 SSH 키 인증을 먼저 설정해 두게 됩니다. 정해진 시각에 올리거나 백업하거나 맞추는 되풀이 작업이라면, 예약 기능을 내장한 클라이언트가 스크립트와 작업 스케줄러 항목을 관리하는 수고를 덜어 줍니다.
화면으로 쓰는 SFTP 클라이언트가 좋으신가요?
FTPie는 SSH 키 인증, 호스트 키 확인, 하위 폴더까지 끌어다 놓는 전송, 그리고 내장 예약 기능을 갖춘 현대적인 Windows용 SFTP 클라이언트입니다. 서버 연결 3개까지 무료입니다.
Download FTPie Free