이 글에서는 GCP(Google Cloud Platform) VM인스턴스에 ssh로 간단하게 접속하는 방법에 대해 설명드립니다.
(Google Compute Engine ssh 접속, 구글 서버 ssh 접속, 구글 클라우드 ssh 접속)
Table Of Contents
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메일주소"
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 옵션에 지정한 파일명으로 생성
3. GCP 메타데이터와 VM인스턴스에 ssh 공개키(Public key) 등록
이제 Google Cloud Platfom의 Compute Engine에 접속해서 메타데이터 → SSH 키에 공개키 복사해서 저장해 주면 됩니다.
ssh-keygen으로 생성된 공개키(.pub 파일)을 확인해 보면 아래와 같은 텍스트가 들어있습니다.
- 윈도우에서는 메모장(notepad)으로 열어보시면 되고, 리눅스 또는 Mac인 경우에는 cat [파일명] 명령어로 확인하시면 됩니다.
아래 텍스트를 모두 복사해서 [GCP의 메타데이터 → SSH 키에 복사 후 저장] 해주면 됩니다
4. GCP 서버에서 공개키 수정
마지막으로 서버에 공개키를 수정합니다.
- 먼저 로컬 PC에서 공개 키 파일(
gcp_rsa_4096.pub
)을 확인하세요. 파일 내용을 복사해야 합니다. - 그런 다음 GCP Console에서 VM 인스턴스로 연결하세요. VM 인스턴스 페이지로 이동하고, 해당 인스턴스에 대해 'SSH' 버튼을 클릭하면 웹 브라우저에서 원격 셸-session이 열립니다.
- 원격 셸-session에서 다음 명령어를 실행해서
.ssh
디렉토리와authorized_keys
파일을 생성하고, 올바른 권한을 설정합니다:
- 이제
authorized_keys
파일을 수정하여 로컬 PC에서 복사한 공개 키를 추가합니다. 다음 명령어를 실행하세요:
여기서 '공개키내용'은 로컬 PC에서 복사한 gcp_rsa_4096.pub
파일의 내용으로 대체해야 합니다.
5. 접속하기
이제 접속 준비는 완료 됐습니다. 이제 개인키(Private Key, ssh-keygen으로 생성 시 확장자가 없는 파일)가 있는 경로에서 아래 명령어로 서버에 접속하시면 됩니다.
putty와 같은 터미널 프로그램에서도 동일하게 ssh key를 이용해서 접속 가능합니다.
저는 mobaxterm으로 접속해서 사용 중입니다.
'IT' 카테고리의 다른 글
티스토리 블로그를 구글 애널리틱스와 연결하는 방법 (0) | 2024.01.23 |
---|---|
nginx에 신규 subdomain과 flask app 추가하기 (0) | 2024.01.23 |
docker hub에 무료 가입하여 docker 이미지를 올리는 방법 따라하기 (0) | 2024.01.23 |
우분투 nginx 서버 Docker 설치 및 이미지 만들기 (0) | 2024.01.23 |
구글 블로그 모바일 설정하기 (테마 따로 유지하기) (0) | 2024.01.23 |