[Oracle Cloud] Compute에 로그인하는 키를 분실했을 때 암호 인증을 무시하고 콘솔 로그인

4113 단어 oraclecloudoci

소개



Compute에 로그인하는 키를 어디에 저장했는지 모르는 것이 드물게 자주 있다고 생각합니다.

그럴 때 시리얼 콘솔을 이용하여 비밀번호 없이 로그인하여 키를 추가하는 방법입니다.

※OEL7(GRUB2)에서는, RHEL6(GRUB) 때와 같이 싱글 유저 모드로 기동한 것만으로는 패스워드 없이 로그인할 수 없는 것 같습니다.

※ 이전, 콘솔 로그인을 시도했을 때의 기억으로, 패스워드 인증 유저를 먼저 만들지 않으면 안된다고 생각했습니다. 5/15까지 무료로 공개되고 있다 Oracle University 강좌(Oracle Cloud Infrastructure Architect Professional Workshop) 라고 생각해 보았습니다. 하지만, 공식 문서 에 제대로 하는 방법 쓰고 있는군요. .

절차



※OEL7.x를 전제로 한 방법입니다.

cloud shell 시작



여기에서는 직렬 콘솔에 SSH 액세스를 위한 환경으로 Cloud Shell을 사용합니다.



cloud shell에서 콘솔 액세스를 위한 키 쌍을 생성합니다.
$ ssh-keygen -t rsa

$ cat .ssh/id_rsa.pub

→ 出力された公開鍵をコピーします。
※Cloud Shellのコピーは、コピー範囲を選択後にCtrl+Insert


콘솔 연결 만들기



로그인할 수 없는 Compute 인스턴스의 관리 화면으로 전환합니다.

콘솔 연결 만들기 버튼을 누릅니다.



이전에 Cloud Shell에서 만든 공개 키를 붙여넣고 콘솔 연결 만들기를 누릅니다.


생성이 완료되면 콘솔 연결의 오른쪽에 있는 메뉴를 누른 다음 SSH를 사용하여 연결을 선택합니다.



연결 명령의 문자열을 복사합니다.


콘솔에 연결



Cloud Shell로 돌아가서 복사한 연결 명령의 문자열을 붙여넣습니다.
※Cloud Shell의 페이스트는, Shift+Insert

로그인하면 이런 식으로 프롬프트가 표시됩니다.
※아무것도 표시되지 않는 경우는, 1회 Enter 키를 누르면 표시됩니다.



이 상태에서는 암호 인증할 수 있는 사용자가 없는 경우 로그인할 수 없으므로 한 번 재부팅합니다. (재부팅은 콘솔 메뉴의 "재부팅"버튼에서 수행)
재부팅 후 아래 화면에서 십자 키를 눌러 화면을 멈추고 키보드의 e를 눌러 편집 화면으로 전환합니다.



※cloud shell의 화면을 최대화해 두는 편이 편집하기 쉽습니다.
linuxefi로 시작하는 줄의 끝에 init=/bin/bash를 추가하고 Ctrl+X 키를 눌러 부팅합니다.



부팅 후 로그인 프롬프트가 아닌 bash가 시작되면 성공!



SELInux가 활성화된 환경에서는 컨텍스트를 유지하기 위해 정책 로드


# /usr/sbin/load_policy -i

리마운트



이 상태에서/파일 시스템이 읽기 전용으로 마운트되어 있으므로 rw로 다시 마운트합니다.
# mount -o remount,rw /

파일 수정



$HOME/.ssh/authorized_keys에 공개 키를 추가합니다.

systemd 시작



systemd를 시작하지 않고 exit하면 내 환경에서 커널 패닉이 발생하여 잠시 조작 할 수 없게됩니다.
# exec /usr/lib/systemd/systemd

systemd를 시작한 후 다시 한 번 다시 시작하십시오.

시리얼 콘솔을 빠져나가기



※시리얼 콘솔에 접속중에 세션이 끊어지면, 세션이 남아 잠시 로그인할 수 없게 되므로, 제대로 빠져 둡시다

다음 키를 빠르게 실행하면 빠질 수 있습니다.
~.

콘솔 연결 끄기



사용이 끝나면 콘솔 연결을 지 웁니다.

좋은 웹페이지 즐겨찾기