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