GCP 인스턴스 SSH 접속하는 방법
앞전에 아래 포스팅의 과정을 통해 구글 클라우드 플랫폼 GCP 무료 서버를 생성했었는데요.
서버 생성 후 'SSH 키를 통해 해당 서버에 접속하는 방법'에 대해 정리한 내용입니다. 해당 과정대로 진행하면 생각보다 간단하게 서버에 접속할 수 있습니다.
(로컬에서 ssh 키를 생성 -> gcp에 ssh 키 등록 -> 인스턴스 접속)
1. SSH 키 생성하기
ssh 키를 통해 서버에 접속하는 방법이기 때문에 당연히 ssh key가 필요한데요. ssh key는 로컬에서 아래와 같이 ssh-keygen 명령어를 통해 생성할 수 있습니다.
(Enter passphrase는 접속 시 사용할 비밀번호를 설정하는 부분인데 해당 부분은 엔터를 통해 empty 값으로 설정할 수도 있습니다.)
ssh-keygen -t rsa -f ~/.ssh/[KEY_FILENAME] -C [USERNAME]
(KEY_FILENAME : 생성할 키 파일 이름, USERNAME : 사용자 이름)
해당 명령어의 옵션에 대해서 살펴보면 아래와 같은데요.
- -t [타입명] : key 생성 type을 선택하는 옵션입니다.
- -f [파일명] : 생성할 key 파일의 이름을 설정하는 옵션입니다.
- -C [내용] : 사용자에 대한 주석을 입력합니다.
- -b [숫자] : type의 bytes를 설정합니다. rsa 암호화 방식은 기본 값이 2048이며, 4096으로 더 안전한 키를 생성할 수도 있습니다.
이렇게 생성된 SSH key는 public key와 private key 두 개가 쌍으로 생성됩니다. 그리고 키 생성 시 입력한 USERNAME의 경우 인스턴스에 접속할 때 사용되기 때문에 알아두어야 하는 부분입니다.
(rsa key의 default 파일명은 id_rsa로 지정되며, 키 이름 지정 없이 생성될 경우 키 파일명이 중복될 수 있습니다.)
키 생성을 통해 해당 경로에 SSH 키(public, private) 쌍이 생성되었습니다.
2. 생성된 키를 GCP 콘솔을 통해 서버에 등록
이어서 위에서 생성한 ssh key 쌍 중 .pub 확장자를 가진 public key를 GCP 콘솔을 통해 서버에 등록해야 하는데요.
리눅스나 Mac 환경에서는 다음과 같이 cat [파일명] 명령어로 생성된 .pub 키의 내용을 살펴볼 수 있습니다.
(ssh-rsa 부터해서 키 생성 시 입력한 USERNAME이 있는 끝부분까지가 키가 됩니다.)
GCP 콘솔 -> 메타데이터 -> SSH 키 추가에서 SSH 키를 추가할 수 있으며, 위 화면은 SSH 키가 저장된 모습입니다.
이렇게 키 저장까지 진행되었다면 바로 서버에 접속할 수 있는데요.
3. 서버 인스턴스에 접속
생성된 서버의 외부 IP를 통해 해당 인스턴스에 접속할 수 있는데요.
ssh -i [PRIVATE KEY] [USERNAME]@[외부IP]
서버 접속에는 생성된 키 중 private key가 필요하며, key 생성 시 입력한 USERNAME 값도 필요한데요.
다음 명령어를 통해 서버에 접속할 수 있으며, 키 생성 시 접속 비밀번호를 함께 생성한 경우 해당 비밀번호도 입력을 받아 서버에 접속을 하게 됩니다.