SFTPGo 설치, relay4wd 포트 재할당(22→SFTPGo, 2202→Gitea SSH), 역할 분리 정리

This commit is contained in:
kappa
2026-03-27 14:46:50 +09:00
parent 268c6c53e0
commit 679f827440
4 changed files with 84 additions and 3 deletions

69
infra/sftpgo.md Normal file
View File

@@ -0,0 +1,69 @@
---
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 접근 관리