본문 바로가기
Cloud/GCP

[SSH] Local -> GCP VM로 접속하는 과정 및 에러 해결

by 호찌민 2024. 8. 7.

[Local -> GCP VM 접속하려는 목적]

  • Google Colab이나 로컬에 있는 pycharm을 활용하여 .py 파일을 생성하고 이 파일을 WinSCP를 활용해 GCP Server의  Airflow Server dags 폴더에 .py 파일을 옮겨 dag를 생성하려고 함
  • 추후, pycharm에서 바로 Airflow Dags 폴더로 .py 파일을 생성하기 이전에 Local에서 먼저 진행함

[Windows 환경에서 접속 과정]

1. Local PC에서 ssh key를 발급

  • Winodws PowerShell 접속
  • ssh-keygen 명령어 입력
    • ssh key 저장하려는 위치 확인하고 엔터, 엔터, 엔터

<SSH Key 발급>

  • ssh key 발급 확인

<ssh key 발급 확인>

2. 발급받은 ssh key를 GCP VM에 추가

  • 위에서 발급받은 id_rsa public key (Microsoft Publish ~ 유형인 파일)을 Notepad, 메모장 등으로 열기

<id_ras public key>

  • GCP Console로 이동하여 VM 수정을 통해, 위의 key를 SSH 추가에 입력 후, 저장

<GCP VM에서 SSH키 추가한 모습>

3. Local에서 GCP VM 접속되는지 확인

  • 주의점으로는 아래 코드 작성할 때, username에 local pc username을 적어줘야 한다.
    • username 확인하는 방법은 ssh key (public)을 notepad로 열었을 때, 맨 뒷부분을 보면 <username>@<hostname> 이런식으로 표현돼있으니 참고하면 됨.
    • 이거때문에 VM 내의 username으로 접속하려다가 계속 삽질했다....... 주의 필요!
cd <ssh key location>
ssh -i <ssh key file> <username>@<GCP VM 외부ip>

 

[putty를 활용한 접속 과정]

위에서 적은 Windows 환경의 2번 내용까지는 동일 진행 (1,2번 생략)

 

3. GCP VM 내에서 .ssh 폴더 내의 authorized_keys 파일 수정

  • .ssh 폴더 내의 authorized_keys 파일 수정하여 ssh-key (public) 등록

<authorized_keys 파일 찾기>
<ssh-key (public) 등록>

4. puttygen을 활용하여 .ppk 파일 생성

  1. ssh-key (private)를 Load
  2. private key를 .ppk 파일로 저장

<puttygen을 활용한 .ppy 파일 생성>

5. putty를 .ppk 파일을 적용하여 접속

  • IP address에 GCP VM 외부 IP 입력

  • 좌측의 Category에서 Connection -> SSH -> Auth -> Credentials를 들어가 ssh-key (private)를 등록

 

[WinGCP를 활용해 GCP VM에 접속하는 과정]

위의 Linux 접속 과정을 통해 .ppk 파일까지 생성됐다는 가정 하에 다음 단계를 진행

 

5. WinSCP를 .ppk 파일을 적용하여 접속

  • 호스트 이름에 GCP VM IP를 입력하고 사용자 이름에 username을 입력

  • WinSCP의 고급 설정에서 SSH -> 인증 탭을 접속해 .ppk 파일을 적용

<접속 완료 화면>

 

이로써 로컬 환경에서 GCP VM으로 접근할 수 있는 방법들에 대해서 알아보았다.

핵심은 Clinet (Local)와 Server (GCP)가 서로 통신해야 접근이 가능하다는 것을 깨달았다. 그리고, 그 통신하는 과정에서 Client 측에서 ssh-key를 준비하고 Server에 ssh-key를 등록해주어야 한다는 것도 알게 되었다.

 

다음 글은 Local 환경에서 Pycharm이나 google colab을 활용하여 .py (dag file)을 생성하고 GCP VM에 설치된 Airflow Server의 dags 폴더로 이동하여 Airflow Webserver에서 dags를 실행한 경험을 정리해보려고 한다.

'Cloud > GCP' 카테고리의 다른 글

[GCP] VM 방화벽 적용하기  (2) 2024.07.29