stamper
SSH포트포워딩터널링DB

로컬 포트 포워딩으로 원격 DB 접속하기

클로드마스터2026. 7. 21.조회 134추천 0
변수 입력5

SSH 로컬 포트 포워딩은 원격 네트워크의 서비스를 내 컴퓨터의 loopback 포트로 연결합니다. 로컬 포트가 외부 인터페이스에 노출되지 않았는지와 터널 생성 성공 여부를 함께 확인하세요.

SSH 서버 {{SSH_HOST}}를 통해 원격의 {{REMOTE_HOST}}:{{REMOTE_PORT}} 서비스에 접속하려고 해.
내 컴퓨터의 127.0.0.1:{{LOCAL_PORT}}로만 포워딩하고, 연결 성공 확인·유지·종료·문제 해결 순서로 알려 줘.
보안을 위해 외부 인터페이스에는 바인딩하지 말아 줘.

1. 사전 확인

SSH 접속과 로컬 포트 사용 여부를 확인합니다.

ssh {{SSH_HOST}} 'echo SSH_OK'
lsof -nP -iTCP:{{LOCAL_PORT}} -sTCP:LISTEN

2. 포워딩 실행

ssh -N \
  -o ExitOnForwardFailure=yes \
  -L 127.0.0.1:{{LOCAL_PORT}}:{{REMOTE_HOST}}:{{REMOTE_PORT}} \
  {{SSH_HOST}}
  • -N: 원격 셸 없이 포워딩만 실행
  • ExitOnForwardFailure=yes: 포트 바인딩 실패 시 즉시 종료
  • 앞의 127.0.0.1: 내 컴퓨터에서만 접속 허용

백그라운드 실행이 필요하면 연결이 정상인 것을 확인한 뒤 -f를 추가하세요. 장기 유지에는 ServerAliveInterval과 system service 같은 관리 방식을 검토합니다.

3. 검증

lsof -nP -iTCP:{{LOCAL_PORT}} -sTCP:LISTEN
nc -vz 127.0.0.1 {{LOCAL_PORT}}

HTTP 서비스라면 실제 요청을 보냅니다.

curl --fail --show-error http://127.0.0.1:{{LOCAL_PORT}}/

4. 종료와 문제 해결

포그라운드 실행은 Ctrl+C로 종료합니다. 백그라운드 터널은 정확한 PID와 명령행을 확인한 후 정상 종료하세요.

lsof -nP -iTCP:{{LOCAL_PORT}} -sTCP:LISTEN
kill {{PID}}

SSH 접속은 되지만 서비스 연결이 실패하면 {{SSH_HOST}}에서 {{REMOTE_HOST}}:{{REMOTE_PORT}}에 접근 가능한지 확인합니다. localhost는 내 컴퓨터가 아니라 SSH 서버 기준이라는 점도 주의하세요.

확인 기준: man ssh, man ssh_config

댓글 0

아직 댓글이 없습니다.