5월 23, 2026가이드
SFTP로 안전한 파일 전송 설정
OpenSSH SFTP: 사용자 생성, chroot, FileZilla·WinSCP 연결.

SFTP는 별도 FTP 데몬 없이 SSH로 암호화된 파일 전송을 제공합니다. Linux VPS에서는 OpenSSH에 포함됩니다. Hiddence 서버의 안전한 설정 방법입니다.
전용 사용자 SFTP
파일 업로드 전용 사용자를 만듭니다:
bash
sudo adduser sftpuser
sudo passwd sftpuser
# Test SFTP from client:
sftp sftpuser@YOUR_VPS_IP
# Or use FileZilla: Protocol SFTP, port 22chroot(권장)
보안을 위해 사용자를 한 디렉터리로 제한합니다:
bash
sudo mkdir -p /var/sftp/sftpuser/upload
sudo chown root:root /var/sftp/sftpuser
sudo chmod 755 /var/sftp/sftpuser
sudo chown sftpuser:sftpuser /var/sftp/sftpuser/upload
sudo nano /etc/ssh/sshd_config
# Add at end:
Match User sftpuser
ChrootDirectory /var/sftp/sftpuser
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
sudo systemctl restart sshd데스크톱에서 연결
주요 클라이언트는 SFTP를 기본 지원합니다:
- FileZilla — Host: sftp://YOUR_VPS_IP, Port: 22, Logon Type: Normal
- WinSCP — Protocol: SFTP
- macOS Finder — Connect to Server: sftp://user@IP
- Linux: sftp user@IP or scp file user@IP:/path/
- VS Code — Remote SSH extension for direct editing
보안 체크리스트
- 가능하면 SFTP 사용자에 SSH 키 사용
- root SFTP를 제3자와 공유하지 말 것
- sshd_config에서 root 비밀번호 인증 비활성화
- 업로드 전용 계정에 chroot
- SSH 포트에 Fail2ban
- 가능하면 방화벽에서 22번을 신뢰 IP만 허용
팁
- SFTP는 FTP가 아님 — 레거시 FTP 불필요 시 21번 열지 말 것
- WordPress는 SSH 키+sftp 또는 배포 도구 권장
- 대규모 이전은 SSH rsync가 더 빠름
- 업로드 실패 시 권한 확인(디렉터리 755, 파일 644)
- sshd_config 변경 후 닫기 전 다른 세션에서 SSH 테스트