Google Cloud

tabby로 VM인스턴스에 IAP접속하는 방법

라온클 2024. 9. 16. 22:33

들어가며

 tabby로 GCP의 VM인스턴스에 IAP접속하는 방법에데 포스팅해보았습니다.

 

아이디어 제공해주신 search5님 감사합니다.

search5님 블로그 : https://titanium-haiku-594.appspot.com/blog/python-pyenv/ 

search5님 유튜브 : https://www.youtube.com/@weeklypython   



요약

  • 의의 : GCP 웹콘솔이 아닌 로컬에서 IAP 접속을 할 수 있다는 것에 의의가 있다.
  • IAP 터널링의 장점
    • 보안을 위해 bastion을 통하지 않아도 된다.
    • 웹브라우저 SSH창이 아니라 로컬에서 나의 tabby창에서 하기 때문에 개발자 생산성이 올라간다.
  • IAP 터널링의 단점 : 1시간동안 켜놓고 아무 동작도 안 하면 세션이 끊긴다.



상세내용

1단계 : 최신 버전의 tabby 설치하기

공식 홈페이지에서 운영체제에 맞는 최신 버전의 tabby를 다운 받습니다.

오늘(2024년 9월 16일) 기준으로 1.0.211 버전을 다운받았습니다. 

저는 M1에어를 써서 tabby-1.0.211-macos-arm64.dmg 로 다운 받았습니다 :)

 

공식 홈페이지 : https://tabby.sh/ 

GitHub : https://github.com/Eugeny/tabby 







2단계 : 맥북에서 키 생성

1. 맥북에서 터미널을 시작합니다.



2. 터미널에 아래 명령어를 입력하여 키를 생성합니다.

(형식)

ssh-keygen -t rsa -f {경로}/{키 이름} -C {접속할 사용자명}

 



3. 원하는 경로(예시에서는 ~/Desktop)에 키 파일이 두개 생긴 것을 확인합니다.

(예시에서 key는 Private key, 뒤에 ‘.pub’가 붙은 key.pub가 Public key입니다.)



3단계 : VM 인스턴스에 공개키 붙여넣기

4. ssh로 접속하려는 VM인스턴스를 클릭합니다.

https://console.cloud.google.com/compute/instances 

 

5. [EDIT]을 클릭합니다.




6. SSH Keys 메뉴에서 [+ ADD ITEM]을 클릭합니다.

 

7. Public key 파일을 텍스트 편집기 앱으로 엽니다.

참고 : 사용 환경이 맥일 경우, 아래 명령어로 클립보드에 복사하실 수 있습니다.

cat {경로}/key.pub | pbcopy

 




8. Public key를 처음부터 끝까지 복사한 후, [Enter public SSH key]란에 붙여넣기 합니다. 그리고 변경사항을 저장합니다.

 



9. VM인스턴스의 내부 IP를 복사합니다.

(예시에서는 10.140.0.28)



4단계 : 맥북에서 Tabby로 VM인스턴스로 접속

10. Tabby에서 [+새 프로필]을 클릭하여 새 프로필을 생성합니다.



11. [SSH 연결]을 선택합니다.



12. 다음 값을 입력합니다. 아직 저장은 하지 않습니다.

  • 이름 : 프로필 이름
  • 호스트 : VM 내부  IP
  • 사용자 이름 : VM인스턴스에 접속할 사용자명
  • 비밀 키 : (VM에 업로드한 Public key와 매칭되는)개인 키(Private key)

 

(예시)




13. 터미널에서 gcloud 명령어의 바이너리 파일 경로를 찾습니다.

commnad -v gcloud

 

 

14. Tabby에서 연결 드롭다운을 클릭하여 [Proxy command]를 선택 후, 프록시 명령어를 입력합니다.

참고 : https://cloud.google.com/compute/docs/connect/ssh-using-iap#putty-app 

 

(형식)

{gcloud 명령어 바이너리 파일 전체 경로} compute start-iap-tunnel VM_NAME PORT_NUMBER --listen-on-stdin --project=PROJECT_ID --zone=ZONE

 

(예시)

/Users/soojin/google-cloud-sdk/bin/gcloud compute start-iap-tunnel tabby-test 22 --listen-on-stdin --project=MY_PROJECT_ID --zone=asia-east1-a



15. 입력 후 [저장하기]를 클릭합니다.



16. 생성한 프로필을 클릭합니다.



17. [허용 후 키 저장] 또는 [지금만 허용하기]를 선택하면 SSH 접속에 성공합니다.





반응형