--- title: SFTPGo (SFTP/SSH 서버) updated: 2026-03-27 tags: [infra, sftp, ssh, k3s] --- ## 개요 SFTPGo - 고객용 SFTP/SSH/WebDAV 서버. 사용자 관리, 키 관리, 웹 파일 관리 UI 내장. ## 배포 정보 K3s 클러스터(kr3 컨텍스트)에 Helm으로 설치 (2026-03-27) | 항목 | 값 | |------|-----| | Namespace | sftpgo | | Chart | oci://ghcr.io/sftpgo/helm-charts/sftpgo 0.44.0 | | App | SFTPGo 2.7.1 | | SFTP | LoadBalancer 192.168.9.55:22 | | Web UI | 8080 (Traefik HTTPRoute 경유) | | Storage | Longhorn 1Gi (SQLite DB) | | 관리자 | Vault `secret/apps/sftpgo` (admin_user, admin_password) | ## 외부 접근 경로 ### 웹 UI (HTTPS) ``` sftp.inouter.com → Cloudflare (proxied) → 220.120.65.245 → OpenWrt HAProxy :443 → Traefik 192.168.9.53:443 → HTTPRoute → SFTPGo 8080 ``` ### SFTP (포트 22) ``` sftp.inouter.com:22 (또는 52.79.45.166:22) → relay4wd:22 → iptables REDIRECT :9022 → APISIX stream_route → 192.168.9.55:22 → SFTPGo Pod ``` ## 웹 UI | URL | 용도 | |-----|------| | https://sftp.inouter.com/web/admin | 관리자 - 사용자/설정 관리 | | https://sftp.inouter.com/web/client | 고객 - 파일 업로드/다운로드, 패스워드 변경 | ## API ```bash # 토큰 발급 TOKEN=$(curl -s https://sftp.inouter.com/api/v2/token -u 'kaffa:패스워드' | jq -r .access_token) # 사용자 목록 curl -s -H "Authorization: Bearer $TOKEN" https://sftp.inouter.com/api/v2/users # 사용자 생성 curl -s -X POST https://sftp.inouter.com/api/v2/users \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"username":"user1","password":"pass","status":1,"home_dir":"/srv/sftpgo/data/user1","permissions":{"/":["*"]}}' ``` ## 관련 문서 - [[apisix]] - relay4wd stream_route로 SFTP 포워딩 - [[sshpiper]] - SSH 리버스 프록시 (내부 서버 접근용) - [[teleport]] - 관리자 SSH/K8s 접근 관리