DOCS/troubleshooting/250803_PostgreSQL_SSH_터널_연결.md
happybell80 725ad0876c fix: 문서 파일 실행 권한 제거
- 모든 .md, .html 파일 권한을 644로 정상화
- .gitignore 파일 권한도 644로 수정
- 문서 파일에 실행 권한은 불필요하고 보안상 바람직하지 않음
- deprecated 아이디어 폴더 생성 및 레벨별 UI 변경 아이디어 이동
2025-08-18 00:37:51 +09:00

48 lines
1.4 KiB
Markdown

# PostgreSQL SSH 터널 연결 설정
## 문제 상황
State Service가 원격 서버(124.55.18.179)의 PostgreSQL에 연결해야 하는데, 직접 연결이 실패했습니다.
## 해결 방법
### 1. SSH 터널 생성
```bash
# SSH 터널 생성 (로컬 5433 포트 → 원격 5432 포트)
sshpass -p '19800508' ssh -N -L 5433:localhost:5432 admin@124.55.18.179 -p 51123 &
```
### 2. .env 파일 설정
```bash
# /home/heejae/robing-state-service/.env
DATABASE_URL=postgresql://robeings:robeings@localhost:5433/auth_db
SERVICE_NAME=state
PORT=8002
LOG_LEVEL=INFO
```
### 3. 연결 확인
```bash
# psql로 테스트
psql postgresql://robeings:robeings@localhost:5433/auth_db -c "SELECT 1"
```
## 연결 정보
- **원격 서버**: 124.55.18.179
- **SSH 포트**: 51123
- **SSH 사용자**: admin
- **SSH 비밀번호**: 19800508
- **PostgreSQL 사용자**: robeings
- **PostgreSQL 비밀번호**: robeings
- **데이터베이스**: auth_db
## 주의사항
1. SSH 터널은 백그라운드에서 실행되므로 시스템 재시작 시 다시 생성 필요
2. 보안을 위해 SSH 키 기반 인증 권장
3. 방화벽 설정과 무관하게 SSH 터널을 통해 안전하게 연결
## 영구적인 해결 방안
systemd 서비스로 SSH 터널을 관리하거나, autossh 사용을 고려할 수 있습니다.
## 관련 파일
- `/home/heejae/robing-state-service/.env`
- `/home/heejae/robing-state-service/app/core/config.py`