지난 포스팅에서 디지털 오션의 웹 호스팅 서비스를 이용하여 고스트 (Ghost) 블로그를 설치하는 방법에 대해서 설명을 드렸습니다.
혹시 못 읽으신 분은 아래에서 확인하세요.
오늘은 위의 내용에서 Skip 했던 "SSH Key 인증 방식"과 "Putty를 이용하여 Ghost 이미지 파일을 이용하여 웹서버에 Ghost와 관련 파일을 설치하는 방법"에 대해서 설명을 드립니다.
디지털 오션 (Digital Ocean)에서 드롭릿(Droplet)을 생성하는 과정에 Authentification(인증) 방식을 선택해야 하는데 이때보다 안정적이고 편리한 "SSH Keys" 방식을 선택합니다.
SSH는 Secure Socket Shell의 약자인데 사용자가 원격 컴퓨터에 안전하게 엑세스할 수 있는 네트워크 프로토콜 (Network Protocol)의 한 가지입니다.
이 방식은 인터넷과 같이 안전하지 않은 네트워크를 통해 연결되는 두 컴퓨터간에 강력한 인증 및 보안이 강화된 암호화된 데이터 통신을 제공합니다.
SSH 인증 방식은 공개키(Public Key)와 개인키(Private Key)의 한 쌍의 키로 구성되는데 이 한쌍의 키만으로 데이터를 암호화하고 복호화(암호의 해독)를 할 수 있도록 되어 있어서 안전하게 서로를 인증할 수 있게 됩니다.
-공개키(Public Key) : 공개키는 개인키 (Private Key)로 해독할 수 있는 데이터를 암호화하는 데 사용되는 긴 숫자 값 (Large Numerical Value)으로 되어 있으며 SSH로 로그인 할 수 있는 원격 서버에 보관됩니다..
-개인키(Private Key) : 클라이언트 컴퓨터에 보관되는 키(Key)이고, 코드를 암호화하고 해독하는 알고리즘과 함께 구성된 변수 셋입니다. 이 키는 절대적으로 외부에 노출되어서는 안 되는 키입니다.
이들의 인증 프로세스 (Authentifiation Sequence)는 아래와 같습니다.
저는 서버 콘솔에 접근하여 Ubuntu 명령어를 직접 입력하는 대신에 윈도우에서 서버에 접근할 수 있는 PuTTY를 사용했습니다. PuTTy는 위의 SSH Key 셋을 만드는 Putty Key Generator도 함께 제공하므로 이것을 이용해서 SSH Key 세트 (Private Key와 Public Key)를 만들었습니다.
그 절차는 아래와 같습니다.
1) 먼저 아래 사이트를 방문해서 Putty 설치 프로그램을 다운 받으세요.
www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
2) 다운로드한 파일을 실행하면 윈도에 아래와 같이 Putty와 Puttygen이 설치됩니다.
3) Puttygen을 실행하여 화면에서 "Generate"를 누릅니다.
(Random으로 키를 생성시키기 위해서 마우스를 임의로 움직여야 반응함.)
4. 생성된 공개키(Public Key)
위의 화면에서 빨간 박스 안의 것이 공개키 (Public Key)입니다. 이 부분을 모두 선택해서 복사 (Ctrl+V)합니다.
위에서 설명한 것과 같이 공개키는 원격 서버에 저장을 해야 하므로 복사한 부분을 서버에 저장하는 절차가 남았습니다.
디지털오션의 드롭릿(Droplet) 생성화면에서 Authentification의 "SSH Keys"를 선택하면 나타나는 "New SSH Key"를 누릅니다.
Add Public SSH key화면에서 "Key content"부분에 붙여 넣기를 하고, 이름을 임의로 지정해 줍니다.
그리고 "Add SSH Key"를 누릅니다.
위에서 본 PuTTy Key Generator에서 "Save private key"를 누르면 개인키가 파일로 만들 수 있습니다.
이때 이 키를 실행할 수 있는 패스워드를 별도로 넣고 싶으면 Key passphrase 부분에 입력하면 됩니다. PC를 여러 명이 사용하는 환경이면 패스워드를 넣어서 관리하면 좋습니다. 저는 별도 입력하지 않았습니다.
저장 위치를 지정하여 저장하면 아래와 같이 개인키(Private Key)가 저장됩니다.
이 개인키는 매우 중요하므로 잘 보관해야 합니다. 이 키가 노출되면 해킹당할 수 있고, 이 키를 잃어버리거나 훼손당하면 웹서버에 로그인할 수 없기 때문입니다.
아래는 PuTTY를 이용하여 웹서버에 연결하는 과정을 Step by Step으로 표시한 것입니다.
1. PuTTy를 실행하여 Connection -> SSH 탭을 열어서 SSH Protocol version이 "2"로 설정되어 있는지 확인합니다.
2. Connection → SSH → Auth로 이동하여 개인키(Private Key)가 저장된 위치를 지정하여 선택합니다.
3. Connection → Data에서 Auto-login username에 "root"를 넣어 줍니다.
서버의 관리 계정에 들어가서 관련 파일을 설치해야 하므로 반드시 "root" 계정으로 들어가야 합니다.
4. Session 탭에서 지금까지 설정의 저장해 둡니다. 저는 Session의 이름을 "집"이라고 입력하고 "Save"를 누릅니다.
이제 실행할 때 이 "집" 설정을 선택 후에 "Load"로 불러 내면 번거롭게 위의 내용을 하나하나 다시 설정할 필요가 없습니다.
5. 이제 Host Name에 내 도메인을 입력하고 포트가 "22", Connection type이 "SSH"인지 확인하고 "Open"을 누릅니다.
이를 통해 서버와 연결이 됩니다.
아래와 같이 정상적으로 인증 과정을 마치고 root로 로그인되었습니다. (아래 화면은 이미 Ghost가 설치된 상태이므로 여러분 화면과 다를 수 있습니다.)
다음 과정은 매우 간단합니다. 이미 디지털 오션 드롭릿 생성 과정에서 OS로 Obuntu가 깔려 있고 "The Ghost 1-click app"이라는 이미지가 깔려 있으므로 이것을 풀어서 설치하면 됩니다.
-콘솔 창에 "ssh root@<ip 주소>를 입력하고,
-Are you sure you want to continue connecting (yes/no)라는 메시지가 나오면 "yes"라고 입력합니다.
그러면, 설치를 시작합니다.
설치가 완료되면 최종적으로 "Enter your blog URL"이라는 메시지가 나오는데 블로그의 도메인 주소를 입력하면 완료가 됩니다.
이제 웹브라우저에서 도메인 주소를 쳐보면 아래와 같은 "Ghost의 기본 화면"이 나타납니다.
축하합니다!!! 웹호스팅을 통한 자신만의 웹사이트(블로그)를 갖게 되었습니다.
이제 지난 회에 설명드린 고스트 관리자 페이지를 통해서 자신의 블로그를 가꾸면 되겠습니다.