본문 바로가기
IT

GCP(Google Cloud Platform) VM인스턴스에 ssh로 간단하게 접속하는 방법

by geddy 2024. 1. 23.

이 글에서는 GCP(Google Cloud Platform) VM인스턴스에 ssh로 간단하게 접속하는 방법에 대해 설명드립니다.

(Google Compute Engine ssh 접속, 구글 서버 ssh 접속, 구글 클라우드 ssh 접속)

GCP(Google Cloud Platform) VM인스턴스에 ssh로 간단하게 접속하는 방법 썸네일

1. 소개 및 접속 절차

아래 절차를 따라 하시면 최종적으로 로컬 컴퓨터에서 다음과 같은 명령어로 GCP 서버 접속이 가능합니다. 주의 사항으로 서버에 ssh 키를 넣어 놓으셔야 합니다.

(아주 간단합니다. key 생성 후 GCP 메타데이터에 등록하고 서버에 ssh 키만 넣어주면 됩니다.)

 

접속 방법은 아래와 같습니다.

 

# ssh -i [개인키 파일명] 계정명@ip주소
ssh -i gcp_rsa_4096 gcp@100.100.100.100

서버 접속을 위한 절차는 아래와 같습니다.

  • 로컬 PC에서 ssh접속용 key 생성 (ssh-keygen)
  • GCP 메타데이터에 ssh 공개키(Public key) 등록
  • 접속하기
  • GCP 서버에서 공개키 수정

2. 로컬 PC에서 ssh접속용 key 생성 (ssh-keygen)

로컬 컴퓨터에서 아래 명령어로 ssh접속용 key를 생성합니다.

 

 

# 옵션 설명

# -t [타입명] : key 생성 type 선택

# -b [숫자] : type 의 bytes 설정, rsa 암호화 방식은 기본 2048인데 4096으로 설정 (보다 안전함)

# -f [파일명] : 생성할 key의 이름

# -C [내용] : 주석 입력, gcp의 메일 계정을 입력

ssh-keygen -t rsa -b 4096 -f gcp_rsa_4096 -C "gcp메일주소"
key 생성
lswhh@DESKTOP-NJJS3PP:~$ ssh-keygen -t rsa -b 4096 -f gcp_rsa_4096 -C "xxx@gmail.com"

Generating public/private rsa key pair.

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in gcp_rsa_4096

Your public key has been saved in gcp_rsa_4096.pub

The key fingerprint is:

SHA256:aQUZ9LkZG6kzUBgDYcjok6HdDe6jdMI6EmenPpe53/U xxx@gmail.com


The key's randomart image is:

+---[RSA 4096]----+

| o .+oo+=o       |

|..o.. .o.o o     |

|o.oo o.   B      |

|.+. o .. + *     |

| ...    S +      |

|. * =  . o       |

| * * +    .      |

|+ + +  . . .     |

|.o.o.o. .   E    |


+----[SHA256]-----+

 

기타 : Key생성 간 Enter passpharase라고 key를 사용해서 ssh 접속 시 입력할 패스워드를 지정하라는 말이 나오는데, 이번 포스팅에서는 그냥 Enter로 넘어갔습니다 (결과적으로 key를 이용한 ssh접속 시 패스워드 입력 필요 없음)

 

ssh-keygen 명령어를 입력하고 나면 2개의 키(공개키, 개인키)가 생성됩니다.

  • 공개키(Public key) : ssh-keygen명령어에서 -f 옵션에 지정한 파일명. pub으로 생성, GCP 메타데이터에 복사해야 함
  • 개인키(Private key) : ssh-keygen명령어에서 -f 옵션에 지정한 파일명으로 생성
생성된 key 파일
개인키와 공개키 .pub파일 생성

 

 

 

3. GCP 메타데이터와 VM인스턴스에 ssh 공개키(Public key) 등록

이제 Google Cloud Platfom의 Compute Engine에 접속해서 메타데이터 → SSH 키에 공개키 복사해서 저장해 주면 됩니다.

 

ssh-keygen으로 생성된 공개키(.pub 파일)을 확인해 보면 아래와 같은 텍스트가 들어있습니다.

  • 윈도우에서는 메모장(notepad)으로 열어보시면 되고, 리눅스 또는 Mac인 경우에는 cat [파일명] 명령어로 확인하시면 됩니다.

아래 텍스트를 모두 복사해서 [GCP의 메타데이터 → SSH 키에 복사 후 저장] 해주면 됩니다

 

공개키 cat으로 확인하기
공개키 (.pub) 파일 내용
gcp 메타데이터 > SSH 키 저장하기
메타데이터 > SSH 키 저장하기

4. GCP 서버에서 공개키 수정

마지막으로 서버에 공개키를 수정합니다.


  1. 먼저 로컬 PC에서 공개 키 파일(gcp_rsa_4096.pub)을 확인하세요. 파일 내용을 복사해야 합니다.
  2. 그런 다음 GCP Console에서 VM 인스턴스로 연결하세요. VM 인스턴스 페이지로 이동하고, 해당 인스턴스에 대해 'SSH' 버튼을 클릭하면 웹 브라우저에서 원격 셸-session이 열립니다.
  3. 원격 셸-session에서 다음 명령어를 실행해서 .ssh 디렉토리와 authorized_keys 파일을 생성하고, 올바른 권한을 설정합니다:
bash
mkdir -p /home/eddy_lee/.ssh
chmod 700 /home/eddy_lee/.ssh
touch /home/eddy_lee/.ssh/authorized_keys
chmod 600 /home/eddy_lee/.ssh/authorized_keys
  1. 이제 authorized_keys 파일을 수정하여 로컬 PC에서 복사한 공개 키를 추가합니다. 다음 명령어를 실행하세요:
bash
echo '공개키내용' >> /home/eddy_lee/.ssh/authorized_keys

여기서 '공개키내용'은 로컬 PC에서 복사한 gcp_rsa_4096.pub 파일의 내용으로 대체해야 합니다.


5. 접속하기

이제 접속 준비는 완료 됐습니다. 이제 개인키(Private Key, ssh-keygen으로 생성 시 확장자가 없는 파일)가 있는 경로에서 아래 명령어로 서버에 접속하시면 됩니다.

 

 

gcp에 ssh 접속 성공 모습

ssh 접속 성공 모습

putty와 같은 터미널 프로그램에서도 동일하게 ssh key를 이용해서 접속 가능합니다.

저는 mobaxterm으로 접속해서 사용 중입니다.

facebook twitter kakaoTalk kakaostory naver band shareLink