# 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/robeing-state-service/.env DATABASE_URL=postgresql://robeings:robeings@localhost:5433/main_db SERVICE_NAME=state PORT=8002 LOG_LEVEL=INFO ``` ### 3. 연결 확인 ```bash # psql로 테스트 psql postgresql://robeings:robeings@localhost:5433/main_db -c "SELECT 1" ``` ## 연결 정보 - **원격 서버**: 124.55.18.179 - **SSH 포트**: 51123 - **SSH 사용자**: admin - **SSH 비밀번호**: 19800508 - **PostgreSQL 사용자**: robeings - **PostgreSQL 비밀번호**: robeings - **데이터베이스**: main_db ## 주의사항 1. SSH 터널은 백그라운드에서 실행되므로 시스템 재시작 시 다시 생성 필요 2. 보안을 위해 SSH 키 기반 인증 권장 3. 방화벽 설정과 무관하게 SSH 터널을 통해 안전하게 연결 ## 영구적인 해결 방안 systemd 서비스로 SSH 터널을 관리하거나, autossh 사용을 고려할 수 있습니다. ## 관련 파일 - `/home/heejae/robeing-state-service/.env` - `/home/heejae/robeing-state-service/app/core/config.py`