본문 바로가기

[GCP,SSH] 맥북과 터미널(iTerm2)로 Google Cloud Platform SSH 접속하기 -- config 파일 작성으로 편하게 접속

ironwhale 2022. 8. 8.

구글 클라우드 플래폼(GCP) VM 인스턴스에 SSH 터미널로 접속하기

구글 클라우드 서비스를 VM free tier를 이용해서 간단한 토이 프로젝트를 진행중인데요. 매번 사이트에 접속해서 ssh 버튼을 눌러 접속하는 방식이 번거로워 맥과 터미널(iTerm2)를 이용하여 쉽게 접속하는 법을 알아보겠습니다. 

1. 키를 생성한다. 

퍼블릭 키와 프라이빗 키를 우선 생성합니다. 아래 명령에 대한 설명은 이전에 깃허브 계정 여러개 사용하기해서도 설명 했었는데요

  • -t [타입명] : 키를 생성할 타입명을 입력합니다. 기본값은 rsa 타입인데 깃허브에서는 더 강화된 타입인 ed25519을 권장하는것 같습니다.
  • -f [파일명]: 키의 파일명을 입력할 수 있는 옵션으로 디폴트값은 키의 타입명으로 ~/.ssh폴더에 저장됩니다. 개인적으로는 그냥 입력을 안해도 되는 값인거 같습니다. 어차피 한개의 키로 깃허브, GCP 모두 사용가능하건요
  • -C [계정명]: 대문자 C옵션은 코멘트의 앞글자로 보통은 자신의 계정 메일주소를 입력합니다. <메일주소>@gamil.com 으로하면 구글클라우드 플래폼에 자동으로 @앞에 있는 <메일주소>가 입력이 됩니다. 
ssh-keygen -t rsa -f ~/.ssh/my_key -C "my email"

2022.07.24 - [git,ssh] 맥북에서 ssh를 이용해서 깃허브 계정 여러개 사용하기

 

[git,ssh] 맥북에서 ssh를 이용해서 깃허브 계정 여러개 사용하기

보통 깃허브 아이디는 특별한 설정을 하지 않으면 컴퓨터마다 한개씩 밖에 사용이 안되는거 같더군요. 그래서 github나 gitlab 계정을 회사계정, 개인용 프로젝트 계정 이렇게 분리하고 싶을때는 ss

jh-industry.tistory.com

2.  퍼블릭키를 등록한다. 

-f 옵션을 안주었거나 저랑 같은 명령어를 입력하셨으면 ~/.ssh 폴더에 퍼블릭키가 있을겁니다. 그것을 cat <key파일명>.pub 으로 불러와 안에 내용을 복사합니다.  그리고 GCP의 컴퓨터 엔진 -> 메타데이터->ssh키 메뉴로 가서 복사한 값을 붙여 넣기 합니다. 

3.  터미널로 인스턴스에 접근하기 

터미널에 아래와 같은 명령어를 입력하면 터미널로 접속이 가능합니다. 웹을 통해 접속하는 방식보다 훨씬 빠르고 편리한거 같습니다. 

ssh -i <파일명> <계정명>@<인스턴스 주소(IP 주소)>
ssh -i ~/.ssh/my_key 계정명@11.111.111.111

4. Config 파일 작성해서 더 편하게 접속하기

웹으로 접속하는 법 보다는 절차가 간편해 지긴 했지만 ip주소를 외우거나 어디다 저 명령어를 복사에서 사용하느것 또한 번거롭니다. 그래서 config 파일을 작성해서 더 편하게 접속하는 방법을 소개하도록 하겠습니다. 

1.  config 파일 생성

아무 확장자 없이 그냥 이름만 config인 파일을 만듭니다. 저는 VSCODE를 이용해서 만들었는데 Vim을 이용해서 만들셔도 되고 텍스트 편집 기능이 있는 어떤것으로 만드셔도 상관없습니다. 

2.  config 파일에 스크립트 작성

스크립트라는 표현이 맞는지는 모르겠지만 제가 아는 범위내에서는 이 표현이 적당할거 같아 이렇게 써보았습니다. 

  • User: 키를 만들때 사용한 아이디를 입력합니다. 만약 abc@gmail.com으로 했으면 abc를 입력하시면 됩니다. 
  • IdentityFile: 키가 저장된 경로와 파일명을 입력합니다. 
  • HostName: 인스턴스 외부 접속 주소를 입력합니다. 
  • ssh myserver를 입력해서 접속한다. myserver는 다른것으로 해도 됩니다. 
Host myserver
    HostName <ip주소>
    port 22
    IdentityFile ~/.ssh/my_key
    User <아이디> //

 

이렇게 config 파일을 작성하고 터미널에 ssh myserver를 입력하면 편하게 구글클라우드 플래폼의 인스턴스에 접근할수 있습니다. 

댓글