01 - GCP SSH 연결

로컬 터미널에서 GCP VM 인스턴스 터미널 접속하기


SSH 키 생성

ssh-keygen -t rsa -f ~/.ssh/{KeyName} -C {Username}

KeyName : 생성될 Key의 파일명.
Username : VM 인스턴스에서 사용할 사용자명. 클라우드 콘솔에서 접속한 ssh의 사용자명과 통일하는 것을 추천.

명령어 입력시 질문이 뜰텐데 엔터로 넘어가면 된다.

SSH 키를 생성했다면, ~/.ssh 경로에 파일이 2개 생성되었을 것이다.

KeyName : 개인키
KeyName.pub : 공개키


SSH 키 등록

설정 → 메타데이터 → SSH키 → 수정

Capture

위의 빈 칸에 KeyName.pub 의 내용을 입력한다.

cat {KeyName.pub}

SSH 접속

ssh -i ~/.ssh/{PrivateKey} {Username}@{IP}

PrivateKey : 개인키 파일명
Username : 키 생성할 때 입력한 사용자명
IP : GCP VM 인스턴스의 외부IP

최초 접속시 아래와 같이 연결을 계속 할 것인지 물어본다.

The authenticity of host 'XXX.XXX.XXX.XXX (XXX.XXX.XXX.XXX)' can't be established.
ED25519 key fingerprint is SHA256:Nm6C9HnqXXXXXXXXXXXXXXXXXX/cc88t8.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])?

yes 를 입력하여 연결을 계속한다.


기타

alias 로 단축 명령어를 생성하여 사용할 수 있다.

alias sshconnect='ssh -i ~/.ssh/{PrivateKey} {Username}@{IP}'

alias 란?


ssh-keygen -t rsa -f ~/.ssh/{KeyName} -C {Username}@{IP}

원래 위의 방법처럼 Username 뒤에 IP 를 붙여 키를 등록하였지만, 한 프로젝트에 여러개의 VM 인스턴스가 있을 경우 Username 만 기입하고 접속시 외부 IP만 다르게 입력하면 정상적으로 접속이 가능한 것을 확인하였다. 보안적인 측면에선 인스턴스마다 다른 키를 발급받는 것도 좋아보인다.