ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AWS 환경 설정 2
    IT/AWS 2024. 1. 25. 10:28

     

    EC2 인스턴스 생성
    AWS Management Console에 로그인하고, EC2 인스턴스를 생성합니다.
    워드프레스를 실행할 수 있는 충분한 사양(메모리, CPU, 스토리지)을 선택합니다.
    웹 서버 (예: Apache, Nginx)와 PHP를 설치할 수 있는 운영 체제(예: Ubuntu, Amazon Linux)를 선택합니다.

    보안 그룹 설정
    EC2 인스턴스에 대한 보안 그룹을 설정하여 HTTP(80), HTTPS(443), SSH(22) 포트를 열어 둡니다. 완료(포스팅 AWS 환경 설정 1 참고)

    EC2 인스턴스에 접속
    SSH를 사용하여 EC2 인스턴스에 접속합니다.

    웹 서버, PHP, MySQL/MariaDB 설치
    필요한 웹 서버 소프트웨어, PHP, MySQL/MariaDB(또는 RDS를 사용할 경우 필요 없음)를 설치하고 구성합니다.

    AWS 환경 설정
    AWS 환경 설정

    EC2 접속하는 방법

    AWS EC2 인스턴스에 접속하는 방법은 주로 SSH(Secure Shell)를 사용합니다. 이 과정은 인스턴스의 운영 체제와 사용자의 운영 체제(Windows, macOS, Linux 등)에 따라 다를 수 있습니다. 다음은 Linux 또는 macOS를 사용하는 경우와 Windows를 사용하는 경우에 대한 접속 방법입니다.

     

    Linux 또는 macOS에서 EC2 인스턴스에 접속

    • 키 페어 준비: 인스턴스를 생성할 때 사용한 키 페어(.pem 파일)를 준비합니다. 이 파일은 접속 시 필요합니다.
    • 키 페어의 권한 설정: 보안을 위해 키 페어 파일의 권한을 400으로 설정합니다.
      chmod 400 /path/to/your-key-pair.pem
    • SSH를 통한 접속: 터미널을 열고 다음 명령어를 사용하여 인스턴스에 접속합니다.
      ssh -i /path/to/your-key-pair.pem ec2-user@your-instance-public-ip​
    • /path/to/your-key-pair.pem: 키 페어 파일의 경로입니다.
    • ec2-user: 인스턴스의 사용자 이름입니다 (Amazon Linux의 경우 ec2-user, Ubuntu의 경우 ubuntu).
    • your-instance-public-ip: 인스턴스의 공개 IP 주소입니다.

     

    Windows에서 EC2 인스턴스에 접속

    Windows 사용자는 PuTTY와 같은 SSH 클라이언트를 사용하여 접속합니다.

    • PuTTY 설치: PuTTY는 Windows에서 SSH 접속을 가능하게 하는 클라이언트입니다. PuTTY를 설치해야 합니다.
    • 키 페어 변환: PuTTY는 .pem 형식의 키를 사용하지 않으므로, PuTTYgen을 사용하여 .pem 파일을 PuTTY의 .ppk 형식으로 변환해야 합니다.

    PuTTY를 통한 접속:

    • PuTTY를 열고 Host Name (or IP address) 필드에 ec2-user@your-instance-public-ip를 입력합니다.
    • Connection > SSH > Auth로 이동하여, 변환된 .ppk 파일을 로드합니다.
    • Open을 클릭하여 인스턴스에 접속합니다.

    주의사항

    • 인스턴스의 공개 IP 주소는 AWS Management Console에서 EC2 대시보드의 인스턴스 섹션에서 찾을 수 있습니다.
    • EC2 인스턴스의 보안 그룹 설정에서 SSH(포트 22)가 인터넷(0.0.0.0/0)에서 접근 가능하도록 설정되어 있어야 합니다.
    • 인스턴스에 따라 사용자 이름이 다를 수 있습니다 (예: Amazon Linux의 경우 ec2-user, Ubuntu의 경우 ubuntu, RHEL의 경우 root 또는 ec2-user).
    • EC2 인스턴스에 처음 접속하는 경우, 몇 가지 설정과 절차가 필요할 수 있으므로, AWS의 공식 문서와 지침을 참조하는 것이 좋습니다.

     

    인스턴스 운영체제 아마존 리눅스, 사용자 운영체제 윈도우시

    Windows 운영 체제에서 Amazon Linux가 설치된 EC2 인스턴스에 접속하려면 SSH 클라이언트를 사용해야 합니다. Windows에서 가장 널리 사용되는 SSH 클라이언트 중 하나는 PuTTY입니다.

     

    PuTTY 설치 방법

    PuTTY는 Windows에서 널리 사용되는 오픈소스 SSH 클라이언트로 아래와 같은 방법으로 설치를 진행합니다.

     

    PuTTY 설치 단계

    • PuTTY 다운로드:
      1. PuTTY 공식 웹사이트로 이동합니다: https://www.putty.org/
      2. '다운로드' 링크를 클릭하여 페이지로 이동합니다. 
        PuTTY 공식 웹사이트 다운로드 링크 모습
        PuTTY 공식 웹사이트 다운로드 링크 모습
      3. 운영 체제에 맞는 PuTTY 설치 파일을 선택합니다. 대부분의 Windows 사용자는 'Windows Installer for everything except ARM'를 선택합니다.
    • 설치 프로그램 실행:
      1. 다운로드한 설치 프로그램을 실행합니다.
      2. 설치 마법사의 지시를 따릅니다. 대부분의 사용자는 기본 설정으로 충분합니다.
    • 설치 완료:
      1. 설치 과정을 따라가면서 'Next'를 클릭하고, 'Install' 버튼을 눌러 설치를 완료합니다.
      2. 설치가 완료되면 'Finish' 버튼을 클릭하여 설치 마법사를 닫습니다.
    다운로드 링크내 페이지의 Package files, Alternative binary files, Downloads for 32-bit Windows on Arm, Checksum files 등의 옵션에 대해서
    PuTTY를 다운로드할 때 여러 옵션이 있지만, 대부분의 경우 "Package files" 섹션의 "Windows Installer" 파일을 사용하는 것이 가장 간편합니다. 여기서 당신의 컴퓨터가 64비트인지 또는 32비트인지에 따라 적절한 설치 프로그램을 선택해야 합니다.

     

    PuTTY 다운로드 옵션

    • Package files:

    Windows Installer: 이것은 가장 일반적으로 사용되는 옵션으로, PuTTY와 관련 도구들을 포함한 설치 프로그램입니다. 여기서 당신의 시스템에 맞는 버전(32비트 또는 64비트)을 선택합니다.

    • Alternative binary files:

    이 섹션에는 PuTTY의 단일 실행 파일만 포함되어 있으며, 설치 프로그램이 아닙니다. 특정 도구만 필요한 경우에 사용할 수 있습니다.

    • Downloads for 32-bit Windows on Arm:

    이것은 ARM 프로세서 기반의 Windows 시스템을 위한 것입니다. 대부분의 사용자에게는 해당되지 않습니다.

    • Checksum files:

    다운로드한 파일이 원본 개발자에 의해 제공된 파일과 일치하는지 확인하는 데 사용하는 체크섬 파일입니다.

     

    일반적인 Windows 사용자를 위한 다운로드

    대부분의 사용자는 "Package files" 섹션의 "Windows Installer" 중에서 자신의 시스템에 맞는 버전을 선택해야 합니다. 대부분의 현대 컴퓨터는 64비트를 지원하므로, "64-bit x86" 버전을 선택하는 것이 일반적입니다. 만약 시스템이 32비트만 지원한다면 "32-bit x86" 버전을 선택해야 합니다.

     

    주의사항

    시스템 유형 확인: 컴퓨터가 32비트인지 64비트인지 확실하지 않은 경우, "시스템 정보"를 확인하여 시스템 유형을 알아봅니다.

    안전한 소스: 항상 PuTTY의 공식 웹사이트에서만 다운로드하십시오.

    PuTTY 설치파일은 PuTTY SSH 클라이언트 외에도 PuTTYgen(키 생성기), Pageant(SSH 인증 에이전트) 등 다른 유용한 도구들을 포함하고 있습니다.

     

    Windows Installer 섹션

    MSI (‘Windows Installer’)

    64-bit x86: putty-64bit-0.80-installer.msi (signature)

    64-bit Arm: putty-arm64-0.80-installer.msi (signature)

    32-bit x86: putty-0.80-installer.msi (signature)

     

    Windows 운영 체제를 사용하고 계시며, 시스템의 아키텍처(32비트 또는 64비트)를 알고 있다면, 해당하는 "Windows Installer" 파일을 다운로드하면 됩니다. 대부분의 최근 컴퓨터는 64비트를 지원합니다. 따라서 다음 중 하나를 선택하면 됩니다:

     

    64-bit x86: 대부분의 최신 컴퓨터에 적합합니다. 이 옵션을 선택하면, putty-64bit-0.80-installer.msi 파일을 다운로드합니다.

    32-bit x86: 오래된 컴퓨터나 32비트 운영 체제를 사용하는 경우에 적합합니다. 이 경우 putty-0.80-installer.msi 파일을 다운로드합니다.

    64-bit Arm: 이는 ARM 프로세서를 기반으로 하는 Windows 시스템을 위한 것으로, 대부분의 사용자에게는 해당되지 않습니다.

     

    다운로드 및 설치 절차

    다운로드: 시스템에 맞는 버전의 PuTTY (대부분의 경우 "64-bit x86")을 클릭하여 다운로드합니다.

    설치: 다운로드한 .msi 파일을 실행하여 설치 마법사의 지시에 따라 설치를 완료합니다.

     

    putty-64bit-0.80-installer.msi 파일 설치 모습
    putty-64bit-0.80-installer.msi 파일 설치 모습

     

    PuTTY 사용 준비

    설치가 완료되면, PuTTY는 Windows 시작 메뉴나 바탕 화면에서 실행할 수 있습니다. PuTTY를 처음 실행할 때는 다음과 같은 과정을 따릅니다:

     

    PuTTY 실행:

    • 시작 메뉴에서 PuTTY를 찾거나, 바탕 화면에 생성된 PuTTY 아이콘을 더블 클릭하여 실행합니다.

    서버 정보 입력:

    • 'Host Name (or IP address)' 필드에 원격 서버의 IP 주소나 도메인 이름을 입력합니다.
    • 기본 포트는 22이며, 대부분의 경우 변경할 필요가 없습니다.

    접속 시도:

    • 'Open' 버튼을 클릭하여 SSH 접속을 시도합니다.

     

    푸티를 통한 인스턴스에 접속

    AWS EC2 인스턴스에 PuTTY를 사용하여 접속하는 방법은 다음과 같습니다. 이 과정은 키 페어의 변환과 PuTTY 설정을 포함합니다.

     

    1단계: 키 페어 변환 (PuTTYgen 사용)

    AWS에서 생성한 키 페어(.pem 파일)는 PuTTY에서 직접 사용할 수 없으므로, PuTTY의 키 형식인 .ppk 파일로 변환해야 합니다.

    • PuTTYgen 실행: PuTTYgen을 시작합니다. PuTTY 설치 시 함께 설치되는 도구입니다.
    • 키 페어 로드: 'Load' 버튼을 클릭하여 AWS에서 다운로드한 .pem 키 페어 파일을 찾아 로드합니다.
    • .ppk 파일로 저장: 'Save private key' 버튼을 클릭하여 .ppk 형식으로 키를 저장합니다. 이 때, 암호를 설정하여 키를 보호할 수도 있습니다.

     

    2단계: PuTTY를 통한 인스턴스 접속

    • PuTTY 실행: PuTTY를 시작합니다.
    • 호스트 이름 설정: 'Session' 카테고리에서, 'Host Name (or IP address)' 필드에 EC2 인스턴스의 퍼블릭 IP 주소나 퍼블릭 DNS 이름을 입력합니다.
    • 포트와 연결 유형 설정:
      1. 'Port'에는 22를 입력합니다 (SSH의 기본 포트).
      2. 'Connection type'에서 'SSH'가 선택되었는지 확인합니다.
    • 인증 정보 설정:
      1. 'Connection' 섹션의 'SSH' 하위에 있는 'Auth'를 클릭합니다.
      2. 'Browse' 버튼을 클릭하여 변환된 .ppk 파일을 선택합니다.
    • 접속: 'Open' 버튼을 클릭하여 인스턴스에 접속을 시도합니다.
    • 로그인: 접속이 성공하면, PuTTY는 로그인을 요청합니다. AWS EC2 인스턴스에 따라, 사용자 이름은 다를 수 있습니다. 예를 들어 Amazon Linux 인스턴스의 경우 기본 사용자 이름은 ec2-user입니다.

    주의사항

    • 보안 그룹 설정: 인스턴스의 보안 그룹에서 SSH (포트 22) 접근이 허용되어 있는지 확인하세요.
    • 퍼블릭 IP/DNS: EC2 대시보드에서 인스턴스의 퍼블릭 IP 주소나 퍼블릭 DNS를 확인할 수 있습니다.

    PuTTY를 사용하여 AWS EC2 인스턴스에 접속하는 것은 안전하고 효율적인 방법입니다. 이 과정을 통해 원격으로 서버를 관리할 수 있습니다.

     

    처음 시도시 나오는 메세지

    The host key is not cached for this server:
    x.xx.xxx.xx (port 22)
    You have no guarantee that the server is the computer you think it is.
    The server's ssh-ed25519 key fingerprint is:
    ssh-ed25519 255 SHA256:xxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    If you trust this host, press "Accept" to add the key to PuTTY's cache and carry on connecting.
    If you want to carry on connecting just once, without adding the key to the cache, press "Connect Once".
    If you do not trust this host, press "Cancel" to abandon the connection.

    PuTTY를 사용하여 처음으로 AWS EC2 인스턴스에 접속할 때, "The host key is not cached for this server"라는 메시지가 나타나는 것은 정상적인 현상입니다. 이 메시지는 PuTTY가 해당 서버의 호스트 키를 아직 인식하지 못했음을 나타냅니다. 호스트 키는 SSH 서버의 신원을 확인하는 데 사용됩니다.

     

    이 메시지의 의미

    보안 경고: 이 메시지는 처음 서버에 연결할 때 PuTTY가 서버의 신원을 확인하는 과정에서 나타납니다. 서버의 SSH 키 지문(fingerprint)이 제공되며, 이는 서버가 신뢰할 수 있는지 확인하는 데 사용됩니다.

     

    키 지문 확인: 제공된 키 지문을 서버의 실제 키 지문과 비교해야 합니다. 이는 서버가 예상한 서버인지 확인하는 중요한 단계입니다.

     

    조치 방법

    • 키 지문 확인:
      1. 인스턴스를 생성할 때 AWS가 제공한 키 지문과 PuTTY가 표시하는 키 지문이 일치하는지 확인합니다.
      2. AWS Management Console에서 인스턴스의 세부 정보를 확인하여 키 지문을 찾을 수 있습니다.
    • 신뢰 여부 결정:
      1. 키 지문이 일치하면, 해당 서버는 신뢰할 수 있는 것으로 간주할 수 있습니다.
      2. 키 지문이 일치하지 않으면, 연결을 중단하고 상황을 다시 확인해야 합니다.
    • 옵션 선택:
      1. Accept: 서버를 신뢰하고 이 키를 PuTTY의 캐시에 저장하려면 'Accept'를 클릭합니다. 이후 같은 서버에 접속할 때 이 경고가 다시 나타나지 않습니다.
      2. Connect Once: 한 번만 접속하려면 'Connect Once'를 클릭합니다. 이 경우 키는 캐시되지 않으므로 다음 접속 때 같은 메시지가 다시 나타납니다.
      3. Cancel: 서버를 신뢰하지 않거나 키 지문이 일치하지 않으면 'Cancel'을 클릭하여 접속을 취소합니다.

    주의사항

    • 보안상 호스트 키 지문을 확인하는 것은 중요합니다. 잘못된 서버에 연결하는 것을 방지하기 위해 항상 키 지문을 확인하세요.
    • AWS EC2 인스턴스에 처음 접속하는 경우, 이 경고 메시지는 일반적이며, 키 지문이 확인되면 안전하게 연결을 수락할 수 있습니다.

     

    키 지문 확인 절차

    AWS EC2 인스턴스의 SSH 키 지문을 확인하는 방법은 다음과 같습니다. 이 과정은 AWS Management Console을 사용하여 인스턴스의 세부 정보를 확인하는 것을 포함합니다.

     

    AWS Management Console을 통한 키 지문 확인

    1. AWS Management Console 로그인: AWS Management Console에 로그인합니다.
    2. EC2 대시보드로 이동: 'Services' 메뉴에서 'EC2'를 선택합니다.
    3. 인스턴스 목록 접근: 좌측 네비게이션 패널에서 'Instances'를 클릭합니다.
    4. 인스턴스 선택: 키 지문을 확인하고자 하는 인스턴스를 목록에서 찾아 선택합니다.
    5. 설명 탭 확인: 인스턴스 세부 정보의 하단에 있는 'Description' 탭을 확인합니다.
    6. 키 지문 찾기: 'Description' 탭에서 'Key pair name'을 찾습니다. 이것은 인스턴스 생성 시 사용한 키 페어의 이름입니다.
    7. 인스턴스와 연결된 키 페어의 SSH 키 지문 정보는 별도로 표시되지 않을 수 있습니다. 이 경우, 사용한 키 페어의 세부 정보 페이지에서 확인할 수 있습니다.

     

    키 페어의 세부 정보 확인

    1. 키 페어 페이지로 이동: EC2 대시보드의 좌측 네비게이션 패널에서 'Key Pairs'를 선택합니다.
    2. 키 페어 선택: 목록에서 해당 키 페어를 찾아 선택합니다.
    3. 키 지문 확인: 키 페어의 세부 정보에서 SSH 키 지문을 확인할 수 있습니다.

     

    PuTTY와의 비교

    • SSH 키 지문을 AWS에서 확인한 후, PuTTY에서 표시되는 키 지문과 비교합니다.
    • 두 지문이 일치한다면, 해당 서버는 신뢰할 수 있는 것으로 간주하고 PuTTY 접속을 계속할 수 있습니다.

     

    주의사항

    • SSH 키 지문은 서버의 신원을 확인하는 데 중요한 역할을 합니다. 일치하지 않는 경우, 접속을 중단하고 상황을 재확인해야 합니다.
    • AWS에서 제공하는 키 지문 정보는 보안상 매우 중요하므로, 안전하게 관리하고 접근해야 합니다.
    • 키 지문 확인은 원격 서버에 안전하게 접속하는 데 필수적인 단계입니다. 일치하는 키 지문을 확인함으로써, 네트워크 중간자 공격(Man-in-the-Middle Attack)과 같은 보안 위협으로부터 보호할 수 있습니다.
    pem 파일하고 ppk 파일 지문 동일여부 확인
    .pem 파일과 SSH 키 지문 간의 일치 여부를 확인하는 것은 직접적으로 간단하지 않을 수 있습니다. AWS Management Console에서 제공하는 키 지문 정보는 일반적으로 EC2 인스턴스 생성 시에 사용된 공개 키의 지문입니다. 반면, .pem 파일에는 개인 키가 포함되어 있으며, 이 파일로부터 직접적으로 공개 키 지문을 추출하는 것은 표준적인 방법이 아닙니다.
    더보기

    확인 방법

    • PuTTYgen을 사용한 공개 키 추출:
      1. PuTTYgen을 열고 .pem 파일을 로드합니다. 이렇게 하면 PuTTYgen이 해당 개인 키에서 공개 키를 추출합니다.
      2. PuTTYgen의 인터페이스에서 공개 키의 지문을 확인할 수 있습니다. 이 지문은 AWS Management Console에서 제공하는 키 지문과 일치해야 합니다.
    • AWS Management Console에서 키 지문 확인:
      1. EC2 대시보드에서 해당 인스턴스의 'Key Pair Name'을 확인합니다.
      2. 동일한 이름의 키 페어를 'Key Pairs' 섹션에서 찾아 해당 키 페어의 지문 정보를 확인합니다.

     

    문제 해결

    키 지문 불일치: 만약 PuTTYgen에서 추출한 공개 키의 지문과 AWS에서 제공하는 지문이 일치하지 않는 경우, 다음을 고려해야 합니다:

    1. 인스턴스 생성 시 사용한 정확한 키 페어 파일(.pem)을 사용하고 있는지 확인합니다.
    2. 인스턴스에 할당된 키 페어가 현재 확인하고 있는 키 페어와 일치하는지 확인합니다.
    3. 새 키 페어 생성 및 할당: 지문이 일치하지 않는 경우, 보안상의 이유로 새로운 키 페어를 생성하고 해당 인스턴스에 재할당하는 것이 권장됩니다. 이는 인스턴스의 'Stop' 후 'Change Key Pair' 옵션을 통해 수행할 수 있습니다. 단, 이 방법은 인스턴스를 재시작해야 하며, 일부 인스턴스 유형에서는 지원되지 않을 수 있습니다.
    4. 전문가의 조언: 키 관리와 SSH 접속은 매우 중요하고 복잡한 부분입니다. 불확실한 경우, AWS 문서를 참조하거나 보안 전문가에게 조언을 구하는 것이 좋습니다.

     

    AWS의 키 지문 정보는 서버의 신원을 확인하는 데 사용되므로, 정확한 일치 여부 확인이 중요합니다. 일치하지 않는 경우, 네트워크 중간자 공격의 위험이 있으므로, 신중한 접근이 필요합니다.

     


Copyright 2024