-
gcloud 브라우저 없이 로그인 하기Web, Server, Cloud 2022. 6. 17. 12:20
ubuntu 에서 browser 없이 gcloud 로그인 하기
ubuntu 서버에서 브라우저 실행 없이 gcloud 로 로그인을 하기 위한 절차를 알아보자.
공식문서는 이 곳이다.
만약 브라우저가 실행 가능한 환경이라면 아래 명령어를 실행하면 된다.
$ gcloud auth login // 혹은 $ gcloud auth login <ID>
그러나 브라우저를 실행할 수 없는 ubuntu 서버에 ssh 로 연결한 환경의 경우에는 특이한 방식을 사용해야 한다.
개인적으로 방법 자체가 낯설어서 이해하기 위해 시간이 좀 걸렸다.
브라우저를 실행할 수 없는 환경에서 --no-browser 옵션으로 로그인을 시도한다.
$ gcloud auth login --no-browser
그러면 다음과 같은 안내 메세지를 콘솔에 출력해준다.
You are authorizing gcloud CLI without access to a web browser. Please run the following command on a machine with a web browser and copy its output back here. Make sure the installed gcloud version is 372.0.0 or newer. gcloud auth login --remote-bootstrap="https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=........."
무슨 말인지 읽어보면.. 당신이 브라우저 없이 gcloud CLI 에 로그인하려고 하니, 브라우저를 실행할 수 있는 환경에서 아래 명령어를 실행하고, 그 곳에서 출력된 명령어를 이 곳에 다시 붙여넣으라고 한다. gcloud 버전이 372.0.0 이상인지 확인하라고 한다.
여기서 무슨 말인가 싶었지만, 일단 따라해 보기로 했다.
브라우저를 실행할 수 있는 환경에서 다음 커맨드를 실행하자.
$ gcloud auth login --remote-bootstrap="https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=........."
입력하고 나면 구글 로그인 창이 브라우저로 실행된다.
로그인을 진행해보자.
그러면 아래와 같은 oauth 인증 화면이 나온다.
여기서 Allow 를 누르게 되면, 터미널 콘솔 창에 아래와 같은 메세지가 출력된다.
Copy the following line back to the gcloud CLI waiting to continue the login flow. WARNING: The following line enables access to your Google Cloud resources. Only copy it to the trusted machine that you ran the `gcloud auth login --no-browser` command on earlier. https://localhost:8085/?state=.....................
아래 라인을 아까 그 환경으로 복사하라고 한다.
주소가 로컬호스트이고, state parameter에 인증정보가 담겨있다.
gcloud 로 로컬호스트에 서버를 실행하고 해당 서버는 인증정보를 가지고 다시 구글 인증 서버에 물어보는 형태로 동작하는 것처럼 보인다.
주소를 붙여넣어보자.
이렇게 붙여넣고 엔터를 입력하면 정상적으로 로그인이 된 것을 확인할 수 있다.
반응형'Web, Server, Cloud' 카테고리의 다른 글
OSI 7 Layers vs TCP/IP (0) 2022.06.23 URI vs URL (0) 2022.06.21 브라우저에 주소를 적으면 일어나는 일 (0) 2022.06.20 ubuntu 20.4 mongodb 설치 (0) 2022.06.17 AWS ElastiCache 간단히 살펴보기 (0) 2022.01.12