꿈꾸는 시스템 디자이너

Lightsail 사용법 - 고정IP 할당 및 SSH 접속 방법 | 인스턴스 관리/설정 본문

Development/Cloud computing

Lightsail 사용법 - 고정IP 할당 및 SSH 접속 방법 | 인스턴스 관리/설정

독행소년 2020. 4. 6. 16:32

 

지난 강좌에서는 Lightsail을 이용해서 우분투 인스턴스를 생성하는 방법에 대해서 알아봤다.

이번 시간에는 인스턴스를 관리설정하는 방법에 대해서 알아본다.

 

인스턴스의 메뉴아이콘을 누르면 다음과 같이 서브 메뉴들이 나타나는데 관리 메뉴를 클릭한다.

 

연결 관리 페이지가 나타난다.

인스턴스에 연결하는 방법은 두 가지다.

첫번째는 브라우저를 이용해서 연결하는 방법으로 쉽게 연결가능하지만 매번 브라우저상에서 터미널을 이용하는 것은 불편하다. 소스코드 편집을 브라우저 상에서 할 순 없지 않은가?

 

두번째 방법은 자체 SSH 클라이언트를 사용하여 연결하는 방법이다. 사용중인 로컬머신에서 SSH 클라이언트를 이용해서 우분투 인스턴스로 접속하는 방법이며 실제 개발에서는 이 방법이 주로 사용된다.

우선 화면을 보면 접속에 사용할 사용자 이름으로 ubuntu라고 설정된 것을 확인할 수 있다. 또 접속할 IP로 퍼블릭 IP가 하나 설정된 것을 확인할 수 있다.

하지만 Lightsail의 퍼블릭 IP는 인스턴스를 재시작하면 변경된다. 고정IP가 아니라는 뜻이다. 원활하게 SSH 접속을 하기 위해서는 인스턴스에 고정IP를 할당해야 한다. 이를 위해 네트워킹 항목으로 이동하자.

 

네트워킹 관리화면은 다음과 같다.

우선 프라이빗 IP는 내부통신용 IP다. 만약 동일 리전(위치)에 복수의 인스턴스를 운영할 경우, 그리고 인스턴스들간에 통신이 필요할 경우 이 프라이빗 IP를 이용하는 것이 안전하고 더 빠르고 그리고 무료다.

방화벽 항목에는 외부 접속을 위한 SSH용 포트와 HTTP용 포트만이 오픈되어 있다.

마지막으로 퍼플릭 IP 항목은 조금전 연결 페이지에서 살펴본 그 IP 주소가 출력되고 있다. 고정 IP 생성 버튼을 클릭하자.

 

인스턴스 연결에서 고정IP를 할당할 인스턴스를 선택하고, 그 고정 IP의 이름을 부여한 후 생성 버튼을 클릭한다.

 

다음과 같이 고정 IP가 할당되었다.

 

다시 인스턴스의 연결 관리 페이지로 진입해 보자. 퍼블릭 IP의 주소값이 고정 IP로 변경된 것을 확인할 수 있다.

 

자 이제 로컬 머신에서 SSH 클라이언트를 이용해서 인스턴스로 접속해 볼 차례이다.

화면 하단에 보면 클라이언트와 연결할 때는 프라이빗 키도 필요하다고 안내되고 있고 계정 페이지에서 기본 프라이븐 킷을 다운로드할 수 있다고 한다. 계정 페이지로 이동하자.

 

SSH 키 황목에서 보면 서울 리전의 기본 SSH 키를 다운로드할 수 있다. 다운로드 하자.

 

LightsailDefaultKey-ap-northeast-2.pem 이란 이름으로 다운로드 된다. 적당한 위치로 복사한 후 커맨트창을 열어 해당 위치로 이동한다.

 

참고로 본인이 사용하는 콘솔은 cmder이다.

https://cmder.net/

 

Cmder | Console Emulator

Total portability Carry it with you on a USB stick or in the Cloud, so your settings, aliases and history can go anywhere you go. You will not see that ugly Windows prompt ever again.

cmder.net

다운로드한 SSH 키 파일이 존재한다.

 

인스턴스에 접속하기 위해 다음과 같이 입력한다.

$> ssh -i LightsailDefaultKey-ap-northeast-2.pem ubuntu@13.209.31.173

SSH 키 파일의 지문(fingerprint)를 이용해서 접속할 것인지를 묻는다. yes라고 입력한다.

 

헐. SSH 키 파일의 접근 권한 오류가 발생한다. 윈도우서 만나니 당황스럽다.

 

키 파일의 권한을 변경해 보자.

리눅스의 경우 chmod 400 으로 권한을 변경해서 사용하면 되는데 윈도우의 경우 chmod 명령어가 없으므로 다른 방법을 찾아봐야 한다.

 

키 파일이 저장된 폴더의 속성을 변경한다. (본인의 경우 ssh 폴더)

속성->보안->고급 순으로 이동하면 다음의 창이 나타난다. Admonistrators를 선택하고 화면 하단의 상속사용 안함을 선택한다.

 

하단의 이 개체에서 상속된 사용 권한을 모두 제거합니다. 를 선택한 후 적용 후 확인을 선택한다.

 

ssh 폴더로 집입하려고 하면 액세스할 권한이 없다는 문구가 나온다. 계속(관리자계정)을 선택해서 진입한다.

 

이제 터미널에서도 ssh 폴더로 진입이 가능하다.

 

다시 ssh로 인스턴스에 접근해보자.

$> ssh -i LightsailDefaultKey-ap-northeast-2.pem ubuntu@13.209.31.173

 

드디어 접속에 성공했다.

 

이제 로컬머신에서 인스턴스로 접속하고자 할 때 Lightsail 사이트에 접속하지 않고도 SSH를 이용해서 접근가능해졌다.

 

사족!

일반적으로 SSH로 원격 머신에 접속할 때에는 ID와 비밀번호 그리고 호스트 주소가 필요하다.

하지만 이 방식은 굉장히 위험하다. 이러한 방식을 지원하는 클라우드 서버의 경우 인스턴스를 생성하자마자 SSH 접속 요청이 쏟아져 들어온다. 본인도 이러한 공격으로 인해 여러번 서버를 날려먹은 적이 있다.

 

이에 반해 SSH 키를 이용하는 방식은 키값을 가지지 않는 접속요청(다시 말에 ID와 비번을 이용한 접속요청)을 원천차단하기 때문에 보다 안전하다.

 

다음 시간에는 SSH 포트 설정에 대해서 알아본다.

 

[update 2021-08-26]

퍼미션을 변경한 pem파일은 퍼미션을 변경한 폴더에서만 요효한 것 같다. 해당 파일을 다른 폴더로 복사하지 말고 해당 폴더에서 바로 이용해야 한다.

Comments