GCP Compute Engine은 브라우저 SSH 외에도 MobaXterm 등의 외부 SSH 클라이언트를 통해 접속할 수 있다.
이 경우 SSH 공개키 인증 방식이 사용된다.
- 로컬 PC에서 SSH 키 쌍을 생성한다.
(private key / public key) - 생성된 public key를 GCP 메타데이터에 등록한다.
- 외부 SSH 클라이언트에서 private key를 이용해 접속을 수행한다.
* 이 경우는 OS Login을 사용하지 않고 직접 VM 메타데이터로 추가하는 방식이다.
1. 로컬 PC에서 SSH 키 생성
기본적으로 아래 명령어로 생성하면 된다.
ssh-keygen -t rsa -b 4096 -f ~/.ssh/gcp -C "{email}"
# -t : RSA 알고리즘
# -b : 키 길이 (RSA에서 key size, 보안 강도에 영향)
# -f : private key 저장 경로 지정 (public key는 .pub로 자동 생성)
# -C : comment 및 식별자 (이메일 - GCP 유저)
윈도우 CMD의 경우 아래와 같은 에러가 뜬다면, 문법을 바꿔줘야 한다.
Saving key "~/.ssh/gcp" failed: No such file or directory
# 디렉토리 생성
mkdir %USERPROFILE%\.ssh
# 키 생성
ssh-keygen -t rsa -b 4096 -f %USERPROFILE%\.ssh\gcp -C "{email}"
password 를 입력하라는 곳에 아무것도 안하고 엔터를 치면 비밀번호 없이 가능하다.

2. GCP 메타데이터 등록
public key를 확인해본다.
type %USERPROFILE%\.ssh\gcp.pub
# ssh-rsa AAAAB3NzaC1yc2EAA... 출력됨
메타데이터 -> SSH 키 섹션에 .pub 키의 내용을 그대로 붙혀 넣는다


3. 접속해보기
MobaXterm을 이용해서 접속해본다.
아래에서 다운로드 받으면 된다.
Installer Edition 받고 설치한다.
MobaXterm free Xserver and tabbed SSH client for Windows
The ultimate toolbox for remote computing - includes X server, enhanced SSH client and much more!
mobaxterm.mobatek.net

SSH 세션을 하나 만들어 준다.
Remote host에는 VM의 외부IP를 넣어준다.
Username은 SSH 메타데이터를 만들면 나오는 사용자이름을 넣어준다.
User private Key를 선택하고 로컬에서 만들어 놓은 private key 를 넣어주면된다. (.pub 키가 아님)


+ 전에 자주 이용하던 PortX의 이후 버전인 Xcasca를 이용해서 접속하려고 했는데 (UI가 깔끔함..)
X11 관련 이슈로 계속 접속이 불가능 해서 MobaXterm으로 바꿔버렸다. X11 체크를 풀었는데도 계속 에러가 났다.
이 부분에 대해서는 더 찾아봐야겠다..
'dev > server' 카테고리의 다른 글
| PM2 설치, CERT_NOT_YET_VALID (0) | 2023.07.20 |
|---|---|
| nginx - node js 프록시 설정 (0) | 2023.07.19 |
| nginx - 심볼릭 링크 (0) | 2023.07.17 |
| SSL 설정 - centos7, nginx (0) | 2023.07.17 |
| 도메인 연결 - centos7, nginx (1) | 2023.07.16 |