70 lines
1.9 KiB
Markdown
70 lines
1.9 KiB
Markdown
---
|
|
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 접근 관리
|