☁️ 클라우드 & 서버

putty오류 : ec2-user server refused our key

itstory(Booho) 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