본문 바로가기
IT/개발

OCI Server refused our key 에러 해결 (3일 삽질후 해결)

by 염옥지 2025. 11. 20.
반응형

윈도우 CMD에서 SSH ed25519 키쌍 만들고
OCI 인스턴스에 등록하는 방법 (Server refused our key 에러 해결)

오라클 클라우드(OCI)에서 우분투 인스턴스를 만들고 접속하려는데 Server refused our key, No supported authentication methods available (server sent: publickey) 같은 에러가 뜨면 멘탈 터집니다. 😭
저도 비밀번호도 없고, 키도 맞는 것 같은데 계속 막혀서 한참을 헤맸어요.

정리해 보니 핵심은 딱 두 가지였습니다.

  • 윈도우에서 SSH 키쌍을 제대로 발급하고
  • 그 중 공개키(.pub)를 OCI 인스턴스 생성 화면에 정확히 등록하기

이게 Ubuntu에서 RSA를 막는다고 하더라구요.. 보안 뭐시기떄문에.. 

이번 글에서는 RSA가 아니라 ed25519 키로 진행합니다. OCI 콘솔에 붙여 넣는 값이 ssh-ed25519 ...로 시작하면 제대로 된 거예요.


1. 윈도우 CMD에서 SSH ed25519 키쌍 만들기

윈도우 10/11에는 기본적으로 OpenSSH 클라이언트가 들어 있습니다. 별도 프로그램 설치 없이 CMD만 열어서 키를 만들 수 있어요.

반응형
  1. CMD 열기
  2. 시작 메뉴에서 cmd를 검색해서 “명령 프롬프트”를 실행합니다.
  3. ssh-keygen으로 ed25519 키 생성
    ssh-keygen -t ed25519 -C "leeuu@DESKTOP-XXXX"
    실행하면 이런 질문이 나옵니다.그냥 엔터를 눌러 기본 경로를 사용합니다. 그러면 아래 두 개 파일이 생깁니다.
    • C:\Users\사용자이름\.ssh\id_ed25519개인키 (절대 공유 X)
    • C:\Users\사용자이름\.ssh\id_ed25519.pub공개키 (클라우드에 등록)
    중간에 “Enter passphrase”가 나오면 비밀번호를 걸 수도 있고, 귀찮으면 그냥 엔터 두 번 눌러서 비번 없이 생성해도 됩니다.
  4. Enter file in which to save the key (C:\Users\사용자이름/.ssh/id_ed25519):
  5. 다음 명령을 그대로 입력합니다. (이메일/메모는 편한 걸로 바꿔도 됩니다.)
  6. 공개키 내용 확인해서 복사하기
    type C:\Users\사용자이름\.ssh\id_ed25519.pub
    출력되는 한 줄짜리 문자열 전체를 복사합니다. (앞부분이 ssh-ed25519로 시작해야 합니다.)
  7. 다음 명령으로 .pub 파일 내용을 확인합니다.
반응형

2. OCI 인스턴스 만들 때 공개키 붙여 넣기

이제 방금 만든 공개키를 OCI 인스턴스에 등록합니다.

  1. OCI 콘솔에서 인스턴스 생성 시작
  2. Compute → 인스턴스 → 인스턴스 생성 으로 들어가서 이미지(예: Ubuntu Minimal), 쉐이프, 네트워크 등을 평소처럼 선택합니다.
  3. [SSH 키 추가]에서 “공개 키 파일(.pub) 업로드” 또는 “공개 키 입력하기” 선택
    • 파일 업로드를 쓰는 경우: id_ed25519.pub 파일을 업로드
    • 직접 입력을 쓰는 경우: 아까 CMD에서 복사한 ssh-ed25519 ... 한 줄을 그대로 붙여넣기
    여기서 줄이 잘렸거나 앞/뒤에 공백이 들어가면 나중에 Server refused our key 에러가 납니다. 붙여 넣은 값이 정확히 한 줄인지 꼭 확인하세요.
  4. 인스턴스 생성 완료 후 공인 IP 확인
  5. 인스턴스 상세 화면에서 공용 IP 주소를 확인합니다. 이 주소로 SSH 접속을 시도하게 됩니다.

3. SSH 클라이언트에서 접속하기 (MobaXterm / CMD)

3-1. MobaXterm에서 접속

반응형
  1. 새 세션 만들기에서 SSH 선택
  2. Remote host에 OCI 공인 IP 입력
  3. Specify username 체크 후, 우분투 이미지라면 보통 ubuntu 입력
  4. Advanced SSH settings → Use private key 체크 후
    C:\Users\사용자이름\.ssh\id_ed25519 파일을 선택
  5. 저장 후 접속 버튼을 누르면 비번 없이 바로 접속되어야 합니다.

3-2. CMD에서 직접 ssh 명령으로 접속

CMD에서 바로 접속할 수도 있습니다.

ssh -i C:\Users\사용자이름\.ssh\id_ed25519 ubuntu@공인_IP_주소

여기서도 사용자 이름 ubuntu를 잘못 쓰면 접속이 안 됩니다. 이미지에 따라 opc, centos 같은 기본 계정이 다르니 OCI 콘솔 설명을 한 번 체크해 주세요.

4. 흔한 오류와 체크 리스트

1) Server refused our key

대표적인 원인은 다음 세 가지입니다.

  • 다른 키를 인스턴스에 등록해 둔 경우 (예: 예전 id_rsa.pub을 붙여 넣음)
  • .pub 내용이 줄이 잘려서 붙여 넣어진 경우
  • 클라이언트에서 다른 개인키를 선택해서 접속하는 경우

이럴 땐 아래를 다시 확인합니다.

  1. CMD에서 type id_ed25519.pub로 내용 확인
  2. OCI 콘솔 인스턴스 설정에 등록된 SSH 키가 그 내용과 완전히 같은지 비교
  3. MobaXterm/ssh가 id_ed25519를 사용하고 있는지 확인

2) No supported authentication methods available (server sent: publickey)

이 에러는 서버가 “나는 공개키 인증만 받는데, 네가 가져온 키는 인정 못 하겠다” 라고 말하는 상황입니다. 대부분 위의 키 등록/선택 실수로 발생합니다.

반응형

3) Login incorrect / 비밀번호 로그인 화면만 보이는 경우

콘솔(Cloud Shell)에서 “login: ubuntu” / “Password:” 만 반복되면 SSH 키가 아닌 콘솔 비밀번호 로그인 화면입니다. OCI에서 일반적으로는 비밀번호를 따로 만들지 않기 때문에 여기서는 로그인 안 되는 게 정상이고, 우리가 사용할 통로는 SSH 키로 접속하는 포트 22 입니다.

5. 정리: RSA 대신 ed25519로 깔끔하게

  • 윈도우 CMD에서 ssh-keygen -t ed25519로 키쌍 생성
  • id_ed25519.pub 내용을 OCI 인스턴스 생성 화면에 그대로 붙여 넣기
  • 클라이언트(MobaXterm/ssh)에서 같은 id_ed25519 개인키를 사용
  • 사용자 이름(ubuntu, opc 등)과 공인 IP를 정확히 입력
반응형

이 순서만 지키면 더 이상 Server refused our key 에러로 고생할 일은 없을 거예요. 이제 우분투 미니멀 이미지에도 마음 편하게 워드프레스든 뭐든 설치해 봅시다. 🙂


반응형