
SFTP는 "SSH File Transfer Protocol"의 약자로, SSH(Secure Shell) 연결 위에서 동작하는 파일 전송 및 원격 파일 관리 프로토콜입니다. 주요 특징은 다음과 같습니다. - 보안성: 데이터와 명령 모두 암호화되어 전송되므로 네트워크 도청이나 중간자 공격에 강합니다. 기본적으로 SSH의 인증·암호화 메커니즘(비밀번호, 공개키 등)을 사용합니다. - 동작 방식: 일반적으로 SSH의 서브시스템으로 동작하며, 기본 포트는 22번입니다. 클라이언트가 SSH 세션을 수립한 뒤 SFTP 세션을 열어 파일 전송 및 디렉토리 조작(조회, 생성, 삭제, 권한 변경 등)을 수행합니다. - 기능성: 단순 파일 전송뿐 아니라 파일 리스트, 속성 조회(stat), 이름 변경, 심볼릭 링크 처리, 전송 중 재개(resume) 등 다양한 파일 관리 작업을 지원합니다. - SCP와의 차이: SCP는 간단한 복사 전송용이고 기능이 제한적이며 주로 단방향 전송에 초점을 둡니다. SFTP는 보다 풍부한 파일 시스템 작업과 오류 처리를 제공합니다. - FTP/FTPS와의 구분: FTP는 별도의 제어·데이터 채널을 쓰고 암호화가 없지만, FTPS는 TLS로 암호화합니다. SFTP는 FTP/FTPS와 프로토콜 호환이 되지 않으며, SSH 기반이라는 점에서 구현·설정 방식이 다릅니다. - 사용 예: 서버 간 안전한 파일 교환, 백업/자동화 스크립트, 원격 파일 관리용 클라이언트(예: sftp, WinSCP, FileZilla, 라이브러리로는 paramiko 등)에서 많이 쓰입니다. 요약하면, SFTP는 SSH를 이용해 안전하고 신뢰성 있게 파일 전송과 원격 파일 관리를 제공하는 프로토콜입니다.