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로 지정한 활성 세션 순으로 결정됩니다.