문제 상황
Oracle Cloud Free Tier 인스턴스를 생성할 때 등록한 SSH 키 쌍의 개인키를 분실하거나 다른 컴퓨터에서 접속하려 할 경우, SSH 접속이 실패합니다. 특히 시리얼 콘솔로 접속하더라도 GRUB 진입이 되지 않아 키 등록도 불가능한 경우가 발생할 수 있습니다.
Permission denied (publickey)
원인
- 기존 인스턴스에 등록된 공개키만 인증 가능함
- 다른 키로 접속 시 SSH 인증 실패
- Oracle Cloud 인스턴스의 기본 GRUB 설정이 숨김 + timeout 0초로 설정되어 있어, 시리얼 콘솔에서
e
키 입력 기회가 없음
해결 방법
✅ 방법 1: Boot Volume 마운트를 통한 키 복구 (추천)
- 기존 인스턴스를 중지
- 부트 볼륨 Detach
- 새 인스턴스 생성 (접근 가능한 SSH 키 등록)
- 기존 볼륨을 새 인스턴스에 Attach (예: /dev/sdb)
- SSH로 새 인스턴스 접속 후 볼륨 마운트:
sudo mkdir /mnt/recovery sudo mount /dev/sdb1 /mnt/recovery
- 공개키 삽입:
echo "여기에 id_rsa.pub 내용" >> /mnt/recovery/home/ubuntu/.ssh/authorized_keys chmod 700 /mnt/recovery/home/ubuntu/.ssh chmod 600 /mnt/recovery/home/ubuntu/.ssh/authorized_keys chown -R ubuntu:ubuntu /mnt/recovery/home/ubuntu/.ssh
- 볼륨을 마운트 해제 후 원래 인스턴스에 다시 Attach
- 기존 인스턴스 시작 후 SSH 정상 접속 확인
✅ 방법 2: Oracle Support에 키 등록 요청
Oracle 지원 센터에 SSH 키 분실 관련 요청을 제출할 수 있습니다. 무료 계정에서도 제출 가능합니다. 요청 시 계정 및 인스턴스 OCID 정보, 새 공개키 내용을 제공해야 합니다.
✅ 방법 3: 인스턴스 재생성
데이터가 중요하지 않다면, 인스턴스를 삭제하고 새로운 키로 다시 생성하는 것이 가장 빠른 해결 방법이 될 수 있습니다.
추가 팁
- 시리얼 콘솔로 GRUB 진입을 시도할 경우, 부팅 직후 수 초 안에
e
키를 눌러야 하지만 대부분의 이미지에서는 timeout이 0초라 불가능함 - Boot Volume 마운트 방식은 데이터 손실 없이 SSH 키를 복구할 수 있는 가장 안전한 방법
마무리
Oracle Cloud에서 SSH 키 분실 시 가장 중요한 것은 당황하지 않고 데이터를 안전하게 복구하는 것입니다. 위의 절차를 따라 부트 볼륨을 임시 인스턴스에 마운트하면, SSH 키를 재등록하여 기존 인스턴스를 정상적으로 복구할 수 있습니다.