김컴공랩

[GCP] 구글클라우드플랫폼의 Compute Engine 활용하기 -3 본문

클라우드

[GCP] 구글클라우드플랫폼의 Compute Engine 활용하기 -3

김컴공 2021. 1. 6. 12:45

헬로월드! 김컴공입니다.

 

구글 플랫폼 프로젝트 3번째 포스팅입니다. 이전 포스트에서는 GCP 에서 제공하는 브라우저 툴로 가상머신에 접속했는데, 이번 시간에는 vscode 를 이용해 접속해 보겠습니다. vscode 를 이용해 접속하면 브라우저 툴로 접속했을 때 보다 더 편하게 작업할 수 있습니다. 이전 포스트에서 다뤘던 2가지 요소를 다시 한번 되새기면서 시작할게요.

 

1. 공개키 암호화를 이용한 SSH 접속

2. GCP 에서 제공하는 가상머신 리눅스의 초기 사용자이름은 GCP 의 계정아이디

 

 

 

오늘의 목표 - VSCODE 를 이용해 가상머신 접속

우선 vscode 를 설치해야 합니다. (code.visualstudio.com)

각자 사용하는 운영체제에 맞춰서 설치해주시면 됩니다.

vscode 홈페이지

visual studio code 는 원래 코드 Editing 툴입니다. vscode 의 Extension 을 사용하면 여러가지 프로그래밍 언어를 다룰 수 있고 또 툴 자체가 다른 ide 에 비해 가볍기 때문에 많은 사용자들이 사용하는 툴입니다.

 

 

vscode 를 설치한 후 접속해서, 가장 왼쪽 메뉴 아이콘 중에서 블럭이 쌓여있는 모습의 아이콘을 클릭하면 Extension 입니다. 위 사진에 표시되어있는 것 처럼 공란에 remote ssh 라고 검색해서, "Remote - SSH" 라는 extension 을 설치합니다. 저같은 경우에는 이미 설치돼있어서 disable 로 되있습니다. install 해주시면 됩니다.

 

 

Extension 이 정상적으로 설치됐으면, 좌측 하단에 >< 모양 아이콘이 생기는데, 이 아이콘을 누르면 Remote-SSH 를 사용할 수 있습니다. 위 사진 처럼 4개의 메뉴가 뜨는데, 저희는 2번째와 3번째 메뉴만 사용할 것 입니다.

 

Connect to Host... 를 하기에 앞서, 저희가 접속할 가상머신의 정보들을 입력해야합니다.

따라서, 먼저 Open Configuration File... 을 클릭해서 가상머신 정보를 입력하겠습니다.

 

이런 형식으로 가상머신의 상세 정보를 입력해야 합니다.

위 사진을 보면 총 3개의 정보가 필요한 것을 알 수 있습니다.

 

 

1. IP 주소 - GCP Compute Engine 의 가상머신의 정보를 보면 IP 정보를 확인할 수 있습니다. 

 

2. Public Key - 처음에 공개키 암호화로 접속을 한다고 말씀드렸습니다. 그래서 가상머신 서버에 public key (공개키)를 두고, 우리가 지금 사용하고 있는 로컬컴퓨터에서는 private key (비밀키) 를 이용해 접근해야만 합니다. 따라서 서버에 비밀키를 두는 작업, 그리고 우리 컴퓨터에 공개키를 두는 작업이 필요하고, 이 두 키를 얻기 위해서는 키 생성(key-generation) 이 필요합니다.

 

3. GCP 계정아이디 - GCP 에서는 Ubuntu 를 운용할 때 초기 리눅스 접근 사용자 명은 GCP 아이디입니다. 따라서 GCP 아이디를 명시해줘야 vscode 에서 이 아이디를 이용해 가상머신 리눅스에 접근할 수 있습니다.

 

 

 

 

키 생성

이제 SSH 에 필요한 키 생성을 해보겠습니다.

윈도우 환경의 경우 Putty 프로그램을 이용해 키 생성을 합니다. 윈도우에서의 키 생성에 관해서는 다른 게시물에서 다뤄보겠습니다.

우선 Mac OS 환경에서의 키 생성을 진행해보겠습니다. (리눅스에서도 마찬가지입니다.) 먼저 터미널.app 을 실행합니다. 그 후에 

 

$ ssh-keygen -f ~/.ssh/[키파일 이름] -C "[GCP 계정아이디]"
$ ssh-keygen -f ~/.ssh/test-key -C "kimmulgae11"

(아래 명령어는 예시입니다.)

 

을 입력하면, 추가 비밀번호를 입력하라고 나옵니다. 매번 SSH 접속 시에 필요한 암호이므로 아예 안적어도 되고, 주로 사용하시는 비밀번호로 입력하면 됩니다. 보통 맥에서의 키 생성은 ~/.ssh/ 디렉터리에 키 들이 생성됩니다. 따라서

 

$ cd ~/.ssh
$ ls

 

위 두 명령어를 입력하면 test-key (비밀키), test-key.pub (공개키) 가 생성됐음을 알 수 있습니다. 먼저 GCP 콘솔에 공개 키를 저장하겠습니다. 

 

GCP 콘솔(console.cloud.google.com에 접속해서 Compute Engine 메뉴 중에 "메타데이터" 를 클릭하고, SSH 키 탭의 "수정" 버튼을 클릭합니다.

 

저는 이미 3개의 SSH 키가 이미 저장돼있습니다. 위에 저장한 것처럼, 파일을 직접 저장하는 것이 아니라 공개키 의 문자열을 입력하면 됩니다. 다시 터미널.app 으로 돌아가서,

 

~/.ssh 디렉터리로 이동한 후에 다음 명령어를 입력합니다.

 

$ cat [키 파일이름].pub
$ cat test-key.pub

 

그럼 공개키의 문자열을 얻을 수 있는데요, 이 문자열을 그대로 복사 붙여놓기를 하고 저장을 해줍니다. 그러면 GCP 콘솔에 공개키 저장을 완료하게 됩니다. 다시 vscode 의 ssh config 으로 돌아가겠습니다.

이제 모든 정보를 입력할 수 있습니다. Host 와 HostName 에는 여러분의 가상머신 외부 IP 를 입력하고, IdentityFile 은 생성했던 비밀키의 경로를 입력하고, User 에는 GCP 계정의 아이디 (ssh-keygen 에서 -C 옵션으로 준 파라미터) 를 입력하고 저장합니다. 이제 접속을 해보겠습니다.

 

다시 Remote-SSH 아이콘을 클릭하고, Connect to Host... 를 클릭하면 위와 같은 목록이 뜹니다.

아까 Config 로 저장했던 가상머신 리스트가 뜨게 됩니다. 클릭해 접속을 시도하면, 아까 키 생성시 입력했던 비밀번호(passphrase) 를 입력하라고 나옵니다. 입력하게 되면,

 

SSH 접속에 성공했습니다!

정상적으로 접속에 성공한 것을 알 수 있습니다.

이제 가상머신에서 여러가지 작업을 수행할 수 있게 됐습니다. 이것으로 오늘의 포스트를 마치겠습니다.

 

추가적인 정보나 질문이 있으시면 댓글 남겨주시면 되겠습니다.