alpacon tunnel

로컬 머신과 원격 서버 간 보안 TCP 터널을 생성합니다. 로컬 포트를 원격 포트로 포워딩하여 서버에서 실행 중인 서비스(데이터베이스, 웹 애플리케이션, 내부 API 등)에 보안 연결을 통해 접근할 수 있습니다. 선택적으로 터널 수명 주기에 연결된 로컬 명령을 실행할 수 있습니다.

포트 포워딩은 Windows 서버에서 사용할 수 없습니다. 이 명령은 Linux와 macOS에 적용됩니다. Windows 서버를 참고하세요.

alpacon tunnel [flags] SERVER [-- COMMAND...]

옵션 (Options)

  -g, --groupname string      터널에 사용할 그룹 이름
  -h, --help                  tunnel 명령어에 대한 도움말 출력
  -l, --local string          수신할 로컬 포트 (필수)
  -r, --remote string         연결할 원격 포트 (필수)
  -u, --username string       터널에 사용할 사용자 이름
  -v, --verbose               연결 로그 표시
      --work-session string 터널을 작업 세션에 연결 ('work-session use' 설정보다 우선)

로컬 명령 실행

-- COMMAND [ARGS...]를 지정하면 Alpacon이 터널 수명 주기에 연결된 로컬 명령을 같은 세션에서 실행합니다. 터널은 명령 시작 전에 열리고, 명령이 종료되면 함께 닫힙니다. 로컬 명령 앞에 --를 붙여야 Alpacon이 터널 플래그를 해석하고 -- 이후의 내용을 로컬 프로그램에 그대로 전달합니다.

예제

로컬 포트 9000을 원격 포트 8082로 포워딩:

alpacon tunnel my-server -l 9000 -r 8082

긴 플래그로 동일하게 실행:

alpacon tunnel my-server --local 9000 --remote 8082

로컬 포트 2222를 원격 SSH 포트 22로 포워딩:

alpacon tunnel my-server -l 2222 -r 22

터널에 사용자 이름과 그룹 이름 지정:

alpacon tunnel my-server -l 9000 -r 8082 -u admin -g developers

터널을 특정 작업 세션에 연결:

alpacon tunnel my-server -l 9000 -r 8082 --work-session 11111111-2222-3333-4444-555555555555

터널에 연결된 상태로 psql 실행:

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

터널에 연결된 상태로 kubectl 실행:

alpacon tunnel prod-k8s -l 6443 -r 6443 -- kubectl --server=https://127.0.0.1:6443 get pods

디버깅을 위한 연결 로그 표시:

alpacon tunnel my-server -l 9000 -r 8082 -v

작업 세션 요구 사항

브라우저 로그인으로 인증한 경우, alpacon tunnel을 실행하려면 tunnel 기능을 포함한 활성 작업 세션이 필요합니다. 토큰 인증(API 토큰 또는 서비스 토큰)은 이 요구 사항을 우회합니다.

연결할 세션은 --work-session 플래그, ALPACON_WORK_SESSION 환경 변수, alpacon work-session use로 지정한 활성 세션 순으로 결정됩니다.

최종 수정: