---
title: "터널 열기"
description: "승인받은 작업 세션으로 Alpacon 서버에 TCP 터널을 엽니다. 서버 설정과 로그인 방법을 확인하고 로컬 포트를 서버의 서비스 포트에 연결하세요. 터널과 함께 로컬 클라이언트를 실행하거나 CLI가 빈 포트를 선택하게 할 수 있으며, 작업과 세션을 마칠 때의 동작도 알아봅니다."
---

> Full documentation index: https://docs.alpacax.com/llms.ko.txt

# 터널 열기

서버에서 서비스가 쓰는 TCP 포트를 확인하세요. 아래 예제는 로컬 포트 9000을 서버 포트 8080에 연결합니다.

### 서버 설정 활성화

관리자에게 서버의 **터널** 설정을 켜 달라고 요청하세요. [서버 설정](/use/servers/manage/#터널과-코드-에디터)을 참고하세요.

### 작업 세션 요청

대상 서버와 **포트 포워딩** 기능을 포함해 [작업 세션을 요청](/use/work-sessions/create/)하세요. 세션이 **활성** 상태가 되면 ID를 확인하세요.

### 로그인

```bash
alpacon login
```

토큰으로는 터널을 열 수 없으므로 `-t`를 쓰지 마세요. 브라우저가 없는 컴퓨터에서는 CLI가 출력한 URL을 다른 기기에서 여세요.

### 터널 실행

```bash
alpacon tunnel --work-session WORK_SESSION_ID my-server -l 9000 -r 8080
```

`WORK_SESSION_ID`를 세션 ID로 바꾸세요. CLI는 `Tunnel ready: <local> -> <remote>`와 `Waiting for connections... (Ctrl+C to exit)`를 출력합니다. CLI를 켜 둔 상태에서 로컬 클라이언트로 `127.0.0.1:9000`에 접속하세요. 작업을 마치면 Ctrl+C를 누르세요.

## 터널과 함께 로컬 명령어 실행

`--` 뒤에 로컬 명령어를 넣으면 터널을 연 뒤 명령어를 시작하고, 명령어가 끝나면 터널을 닫습니다. CLI에서 활성 작업 세션을 선택한 상태에서 PostgreSQL 클라이언트를 연결하는 예제입니다.

```bash
alpacon tunnel prod-db -l 15432 -r 5432 -- psql -h 127.0.0.1 -p 15432 -U app appdb
```

작업 세션이 끝나 터널이 닫히면 로컬 명령어도 중단됩니다. [터널 종료](/use/work-sessions/tunnels/#터널-종료)를 참고하세요.

## 빈 로컬 포트 선택

`-l 0`을 쓰면 CLI가 비어 있는 로컬 포트를 선택합니다.

```bash
alpacon tunnel --work-session WORK_SESSION_ID my-server -l 0 -r 8080
```

`Tunnel ready: <local> -> <remote>`에서 선택된 포트를 확인한 뒤 클라이언트로 접속하세요. 로컬에서는 `127.0.0.1`로만 연결을 받습니다. 원격 포트는 1~65535 범위여야 합니다.

전체 플래그는 [`alpacon tunnel`](/reference/cli/tunnel/), 오류 조치는 [터널 문제 해결](/use/work-sessions/tunnels/troubleshooting/)을 참고하세요.

Source: https://docs.alpacax.com/ko/use/work-sessions/tunnels/open/
