ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • putty오류 : ec2-user server refused our key
    ☁️ 클라우드 & 서버 2024. 11. 25. 11:49
    728x90

     

    1. SSH 키와 퍼미션 확인

    1-1. 올바른 프라이빗 키 사용 확인

    • SSH를 통해 EC2 인스턴스에 연결할 때 사용하는 **프라이빗 키 파일 (.pem)**이 올바른지 확인하세요.
    • EC2 인스턴스가 생성될 때 다운로드한 키 페어를 사용해야 합니다.
    • ssh -i /path/to/key.pem ec2-user@<인스턴스-공인-IP> 형태로 명령어를 실행하고 있는지 확인하세요.

    1-2. 프라이빗 키의 권한 설정

    • 키 파일은 엄격한 권한 설정을 요구합니다. 아래 명령어로 권한을 수정하세요: 
    •  
      코드 복사
      chmod 400 /path/to/key.pem
    • bash

    1-3. 키 페어 재확인

    • AWS Management Console에서 EC2 > 인스턴스 > 설정 > 인스턴스 세부 정보로 이동합니다.
    • Key Pair Name 항목을 확인하여 사용 중인 키 페어와 맞는지 확인합니다.

    2. 퍼블릭 키가 EC2에 등록되었는지 확인

    2-1. 퍼블릭 키 파일 확인

    • EC2는 ~/.ssh/authorized_keys 파일에 등록된 퍼블릭 키를 사용하여 SSH 인증을 처리합니다.
    • EC2 인스턴스에 접근할 수 있다면, 다음 명령어로 해당 키가 등록되었는지 확인하세요:
      bash
      코드 복사
      cat ~/.ssh/authorized_keys
      등록된 키가 없거나 키가 잘못되어 있으면 프라이빗 키로 인증이 실패할 수 있습니다.

    2-2. 퍼블릭 키 등록

    • 로컬에서 퍼블릭 키를 생성(또는 기존 퍼블릭 키 사용)하여 EC2의 authorized_keys에 추가해야 합니다.
    • 기존 키를 새로 등록하려면 다음과 같이 퍼블릭 키를 복사합니다:
      bash
      코드 복사
      ssh-copy-id -i /path/to/key.pub ec2-user@<인스턴스-공인-IP>
      ※ SSH 접근이 안 된다면 아래 3. 비상 액세스 방법을 참고하세요.

    3. 비상 액세스 방법

    SSH 키 문제가 해결되지 않아 EC2에 접속할 수 없다면, 다른 방법으로 액세스해야 합니다.

    3-1. EC2에 대한 사용자 데이터 스크립트 실행

    • EC2의 "사용자 데이터"를 활용하여 SSH 키를 복구할 수 있습니다.
    1. AWS Management Console에서 해당 인스턴스를 선택합니다.
    2. 작업 > 인스턴스 설정 > 사용자 데이터 추가/수정으로 이동합니다.
    3. 아래 스크립트를 입력하여 퍼블릭 키를 복구합니다:여기서 your-public-key는 로컬에서 생성한 퍼블릭 키입니다.
    4. bash
      코드 복사
      #!/bin/bash echo "your-public-key" >> /home/ec2-user/.ssh/authorized_keys chmod 600 /home/ec2-user/.ssh/authorized_keys
    5. 인스턴스를 재부팅하고 다시 연결을 시도합니다.

    3-2. 기존 EBS 볼륨 마운트

    • 문제가 지속된다면, EBS 볼륨을 다른 인스턴스에 연결하여 키 파일을 직접 수정할 수 있습니다:
    1. EC2 인스턴스를 중지합니다.
    2. EBS 볼륨을 분리한 후 다른 EC2 인스턴스에 연결합니다.
    3. 다른 인스턴스에서 EBS를 마운트하고 ~/.ssh/authorized_keys 파일을 수정합니다.
    4. 수정이 완료되면 EBS를 원래 인스턴스에 다시 연결합니다.

    4. 기타 확인 사항

    4-1. 보안 그룹 설정 확인

    • SSH 접속이 차단되지 않았는지 확인하세요:
      • 보안 그룹 > 인바운드 규칙에서 SSH 포트(기본값: 22)가 열려 있는지 확인합니다.
      • 소스는 접속하려는 클라이언트 IP 또는 0.0.0.0/0 (모든 IP 허용)으로 설정해야 합니다.

    4-2. 퍼미션 문제 확인

    • 홈 디렉토리 및 .ssh 디렉토리의 권한이 올바르게 설정되어 있는지 확인하세요:
      bash
      코드 복사
      chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys

    마무리

    위 단계를 따라 설정을 확인하고, 키를 복구하거나 교체하여 SSH 접속 문제를 해결할 수 있습니다. 키 문제를 완전히 해결한 후에는 키 페어를 안전하게 백업하고, 보안을 강화하기 위해 불필요한 포트나 IP 접근을 차단하세요.

    728x90
Designed by Tistory.