본문 바로가기
Cloud/GCP

[GCP] remote에서 ssh key로 원격 접속하기

by SystemAnswer 2022. 10. 14.
반응형

GCP에 생성된 VM에 접속하는 방법은 여러가지가 있지만 이번엔 remote에서 ssh key를 사용해서 접근하는 방법을 다루고자 한다. 특히 GCP에서 제공하는 Compute engine에 Metadata를 활용해보자.

 

먼저, 공개키(public key), 비밀키(private key)를 소유하고 있고, 방화벽 정책은 22 port가 열려 있다는 가정하에 진행하겠다.

만약에 아직 Key를 소유하고 있지 않다면 아래 경로 참고해서 key를 먼저 생성하자.

 

SSH 인증키 생성 방법

2022.10.14 - [Server/Linux] - [Linux] ssh-keygen으로 ssh 인증키 생성 방법

 

필자는 Key 생성을 다음과 같이 진행했다.

#####

ssh-keygen -t rsa -b 4096 -C "systemanswer@myserver" -f ~/.ssh/systemanswer_key

#####

공개 키(public key) : systemanswer_key.pub

비밀 키(private key) : systemanswer_key

 

GCP remote SSH 인증키로 서버 접속

GCP에서는 SSH 관리를 Metadata에서 관리가 가능하다.

Metadata에는 인증키 중에 공개키를 등록하면 되고 등록된 공개키는 자동으로 VM Instance에 계정 생성과 함께 authorized_keys에 등록이 된다.

 

1. GCP Compute engine => Settings => Metadata 에 공개키(public key) systemanswer_key.pub을 등록해준다.

2. 등록된 pub key의 주석을 "systemanswer@myserver"로 등록했기 때문에 metadata에서 username은 systemanswer로 등록이 된다.

3. username은 VM의 계정으로 등록되니 유의하자.

#####

[root@vm-demo-web ~]# cat /etc/passwd | grep systemanswer
systemanswer:x:1003:1004::/home/systemanswer:/bin/bash

#####

4. metadata에 등록된 pub key는 username으로 생성된 계정의 .ssh 디렉토리에 위치해 있는 authorized_keys에 자동으로 등록이 된다.

#####

[root@vm-demo-web ~]# cat /home/systemanswer/.ssh/authorized_keys 
# Added by Google
ssh-rsa AAAAB3NzaC1yc6DNrQcPp+SA3VWAlpBeLebyJbQ7FrwzjkELkOWI8ljDJw== systemanswer@myserver

#####

5. 등록이 완료되었으면 비밀 키(pirvate key)로 ssh 접속을 시도하면 정상적으로 접속이 될 것이다.

 

#####

# remote ssh key로 접속
# ssh -i ~/.ssh/systemanswer_key systemanswer@{접속 IP}

#####
반응형

댓글