AWS SSH 키 등록 및 EC2 접속 방법

2023년 3월 26일

#infra

OpenLDAP 을 활용하여, LDAP 서비스를 구축하는 토이프로젝트를 진행하고 있는데요!

그러기 위해선 EC2 인스턴스가 필요하여, SSH 키 등록 부터 EC2 접속까지 정리해보려고 합니다.


1. AWS SSH 키 등록 (키페어)

  • 기존에 사용하던 키페어가 존재한다면 가능

+ (SSH 개인키 권한)

  • 소유자에 대한 읽기/ 쓰기 권한 외 제거가 필요하다.
  • SSH 서버 접속 시 사용할 PEM 개인키는 최소 권한이 설정되어 있어야 사용 가능하다.
  • SSH 키는 비대칭 키다.
  • 개인키와 공개키로 이루어져있는데, SSH 접속을 하려는 주체와 접속하고자 하는 대상 (EC2 머신)에 각각 설치된다.
  • EC2 머신을 생성하는 단계에서 SSH 공개키를 등록할 수 있다.

2. EC2 머신 생성

  • 인스턴스 시작
  • Ubuntu Server 20.04 LTS (HVM), SSD Volume Type 을 생성하고, 유형은 t2.micro 로 셋팅 (테스트용인 경우 프리티어 사용 가능인지 확인)

3. 그 외의 세부 셋팅

  • 기본적으로 디폴트 값으로 진행
  • 키페어는 생성한 키페어로 등록해줌
  • 보안 그룹의 경우 해당 서버에 접근 가능한 IP 제한을 진행할 수 있는데, SSH 접속을 위해 22번 포트에 모든 IP를 허용할 수 있도록 0.0.0.0/0로 셋팅

4. SSH 원격 서버 접속

  • 인스턴스 세부정보에서 퍼블릭 IPv4 주소를 복사
  • 개인키를 이용해 SSH 접근 시에는 -i 명령어를 사용
  • 권한을 최소권한으로 설정해야 접속할 수 있음 (보안적으로 중요한 키이기 때문에)
  • 명령어 : ssh -i {pemkey}.pem ubuntu@{public_IPv4_address}

관련 이슈

  1. Pem Key 권한 이슈
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions xxxx for './{pemKey}' are too open.

key의 권한 관련 이슈입니다.

pemKey는 보안적으로 중요한 키이기 때문에 최소한의 권한으로 설정해야 접속할 수 있습니다.

소유자 외의 사용자가 접근이 불가능하며 수정이 가능해서는 안 됩니다.

해결 방법은 키의 권한(Permission)을 chmod 명령어를 통해 400으로 변경해 주시면 됩니다.

chmod 400 ./{pemKey}

chmod 뒤 숫자는 본인/그룹/전체에 대한 권한을 의미합니다.

권한은 세가지로 read(4), write(2), execute(1) 가 있는데 이 숫자들 합의 조합으로 권한을 나타낼 수 있습니다.

  • 400: 본인은 읽기(4) 권한
  • 600: 본인은 읽기(4), 쓰기(2) 권한
  • 744: 본인은 읽기(4), 쓰기(2), 실행(1) 권한 / 그룹은 읽기(4) 권한/ 전체는 읽기(4) 권한

Profile picture

주희(Joy)
가치를 고민하는 과정을 함께해요