문제 설명
오라클 클라우드 호스트 인스턴스에 연결을 시도할 때 사용 중인 SSH 키가 손상되었거나 분실되어 클라우드 호스트에 연결할 수 없습니다.
오류 메시지는 다음과 같습니다.
Permission denied (publickey).
해결 방법
인스턴스의 부트 볼륨을 분리한 후 새 인스턴스에 연결하고, 새 SSH 키를 추가한 다음 부트 볼륨을 원래 인스턴스에 다시 연결합니다.
참고: 이 글의 스크린샷은 분실되었습니다(원본 이미지 호스트 cdn.staticaly.com 서비스가 중단됨). 그러나 텍스트 단계는 완전히 사용 가능합니다. Oracle Cloud 콘솔 인터페이스는 변경되었을 수 있으므로 실제 인터페이스를 기준으로 진행하십시오.
상세 단계
1. 연결할 수 없는 인스턴스 중지
콘솔에서 인스턴스 세부 정보 페이지로 이동한 후 중지 버튼을 클릭합니다.
2. 부트 볼륨 분리
인스턴스 세부 정보 페이지 하단에서 부트 볼륨을 찾고, 해당 부트 볼륨의 세 점 메뉴를 클릭한 후 부트 볼륨 분리를 선택합니다.
3. 접근 가능한 인스턴스에 부트 볼륨 연결
참고: 부트 볼륨을 연결할 인스턴스는 반드시 접근(연결) 가능해야 합니다. 이후 이 인스턴스에 연결하여 부트 볼륨을 마운트합니다.
콘솔에서 접근 가능한 인스턴스를 찾고, 연결된 블록 스토리지 볼륨에서 블록 스토리지 볼륨 연결을 클릭한 후 방금 분리한 부트 볼륨을 선택하고 연결을 클릭합니다.
4. iSCSI 명령을 사용하여 실행 중인 인스턴스에 부트 볼륨 마운트
SSH를 사용하여 접근 가능한 인스턴스에 연결한 후 iSCSI 명령을 사용하여 부트 볼륨을 실행 중인 인스턴스에 마운트합니다.
iSCSI 명령은 연결된 블록 스토리지 볼륨 페이지에서 방금 연결한 부트 볼륨의 세 점 메뉴를 클릭하면 확인할 수 있습니다.
Linux 탭을 펼치고 Linux iSCSI 연결 명령을 복사한 후 이미 연결된 인스턴스에서 실행합니다.
5. authorized_keys 파일 수정
sudo su -
fdisk -l
mount /dev/sdb1 /mnt
sudo vi /home/opc/.ssh/authorized_keys
sudo vi /home/ubuntu/.ssh/authorized_keys
umount /mnt
6. iSCSI 명령을 사용하여 부트 볼륨 마운트 해제 및 분리
Linux iSCSI 연결 해제 명령을 복사한 후 이미 연결된 인스턴스에서 실행합니다.
fdisk -l 명령을 사용하여 부트 볼륨이 마운트 해제되었는지 확인합니다. 마운트 해제되었다면 부트 볼륨을 분리할 수 있습니다.
7. 원래 인스턴스에 부트 볼륨 연결
콘솔에서 원래 인스턴스를 찾고, 연결된 블록 스토리지 볼륨에서 블록 스토리지 볼륨 연결을 클릭한 후 방금 분리한 부트 볼륨을 선택하고 연결을 클릭합니다.
부트 볼륨 연결이 완료될 때까지 기다린 후 인스턴스의 시작 버튼을 클릭하여 인스턴스를 시작하면 새 SSH 키로 인스턴스에 로그인할 수 있습니다.
