티스토리 뷰
Headless 서버에서 GWS CLI 인증하기
문제
gws auth login은 OAuth 인증을 사용한다. 인증 흐름은 다음과 같다:
- 서버에서
gws auth login실행 → 임시 HTTP 서버를localhost:{PORT}에 띄우고 대기 - 출력된 URL을 브라우저에서 열고 Google 로그인
- Google이
http://localhost:{PORT}로 리다이렉트하여 인증 코드 전달 - gws가 코드를 수신하여 인증 완료
Headless 서버에는 브라우저가 없으므로 데스크탑 브라우저를 사용해야 하는데, 인증 후 리다이렉트되는 localhost가 데스크탑의 localhost를 가리키게 되어 서버의 gws가 콜백을 받지 못한다.
데스크탑 브라우저 → Google 인증 → redirect to localhost:{PORT}
↓
데스크탑의 localhost (아무것도 없음) ❌
서버의 localhost (gws 대기 중) — 도달 불가해결: SSH 포트 포워딩
SSH 터널을 이용해 데스크탑의 localhost:{PORT}를 서버의 localhost:{PORT}로 연결한다.
데스크탑 브라우저 → Google 인증 → redirect to localhost:{PORT}
↓
데스크탑의 localhost:{PORT}
↓ (SSH 터널)
서버의 localhost:{PORT} (gws 대기 중) ✅순서
1. 서버에서 gws auth login 실행
$ gws auth login
Open this URL in your browser to authenticate:
https://accounts.google.com/o/oauth2/auth?...&redirect_uri=http://localhost:12345&...
URL에서 포트 번호를 확인한다 (위 예시에서 12345). 포트는 매 실행마다 바뀐다.
이 상태에서 터미널을 닫지 말고 대기한다.
2. 데스크탑에서 SSH 터널 열기
새 터미널을 열고 SSH 터널을 설정한다. 포트 번호를 1단계에서 확인한 값으로 교체한다.
ssh -L {PORT}:localhost:{PORT} {서버} -N
예시:
ssh -L 12345:localhost:12345 user@your-server -N
| 옵션 | 설명 |
|---|---|
-L {PORT}:localhost:{PORT} |
데스크탑의 PORT를 서버의 localhost:PORT로 포워딩 |
-N |
원격 명령 실행 없이 터널만 유지 |
-f |
(선택) 백그라운드로 실행 |
3. 데스크탑 브라우저에서 인증
1단계에서 출력된 URL을 데스크탑 브라우저에 붙여넣고 Google 계정으로 로그인한다.
인증이 완료되면 localhost:{PORT}로 리다이렉트되고, SSH 터널을 통해 서버의 gws가 콜백을 수신하여 인증이 완료된다.
4. 정리
인증 완료 후 SSH 터널 터미널을 Ctrl+C로 종료한다.
-f 옵션으로 백그라운드 실행했을 경우:
# 터널 프로세스 찾기
ps aux | grep "ssh -L"
# 종료
kill {PID}
요약
# 1. 서버에서 실행 (포트 확인 후 대기)
gws auth login
# 2. 데스크탑에서 SSH 터널 (포트 번호 맞춰서)
ssh -L 12345:localhost:12345 user@your-server -N
# 3. 데스크탑 브라우저에서 URL 열어 인증'기타' 카테고리의 다른 글
| 특정 코어를 특정 프로세스에 할당하여 처리하는 방법 CPU Affinity: taskset과 start /affinity (0) | 2026.03.23 |
|---|---|
| 마크다운을 정보 유출 걱정 없이 PDF로 변환하는 가장 쉬운 방법 (무료, 설치 없음, 서버 파일 업로드 없음) (0) | 2026.03.21 |
| claude code 쓰다가 영 정신 못 차리는 거 같을때 (0) | 2026.03.21 |
| 20260320 클로드 코드 사용하며 느낀점 (0) | 2026.03.20 |
| nvdec 활용 다채널 비디오 동시 디코딩 기능 구현 완료 (2) | 2026.03.18 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- cosine
- 위상 정렬 알고리즘
- MOT
- 백준 11437
- 백트래킹
- 인공지능을 위한 선형대수
- PyCharm
- Lowest Common Ancestor
- 파이참
- 백준 11053
- 단축키
- 순열
- 가장 긴 증가하는 부분 수열
- ㅂ
- C++ Deploy
- 백준 1766
- 문제집
- 자료구조
- 이분탐색
- LCA
- FairMOT
- 조합
- 백준
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
글 보관함

