9
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[Oracle Cloud] Computeにログインする鍵を紛失したとき、パスワード認証をバイパスしてコンソールログインする

Posted at

はじめに

Computeにログインする鍵をどこに保存したかわからなくなることが、まれによくあると思います。

そんなときに、シリアルコンソールを利用して、パスワードなしでログインして鍵を追加する方法です。

※OEL7(GRUB2)では、RHEL6(GRUB)の時のようにシングルユーザモードで起動しただけではパスワードなしでログインすることができないようです。

※ 以前、コンソールログインを試した時の記憶で、パスワード認証ユーザを先に作っとかないとだめと思いこんでいました。5/15まで無償公開されている Oracle Universityの講座 (Oracle Cloud Infrastructure Architect Professional Workshop) を見て、パスワード認証をバイパスする方法が紹介されていたので、お!と思いやってみました。が、公式ドキュメントにちゃんとやり方書いてあるのですね。。

手順

※OEL7.xを前提とした方法です。

cloud shellを起動

ここでは、シリアルコンソールにSSHアクセスするための環境として、Cloud Shellを利用します。

image.png

cloud shellからコンソールアクセス用の鍵ペアを生成します。

$ ssh-keygen -t rsa

$ cat .ssh/id_rsa.pub

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

コンソール接続の作成

ログインできなくなったComputeインスタンスの管理画面まで遷移します。

「コンソール接続の作成」ボタンを押します

image.png

先ほど、Cloud Shell上で作成した公開鍵をペーストして、「コンソール接続の作成」を押下します
image.png

作成が完了したら、コンソール接続の右側のメニューを押して、「SSHを使用して接続」を選択

image.png

接続用コマンドの文字列をコピーします
image.png

コンソールに接続

Cloud Shellに戻って、コピーした接続用コマンドの文字列をペーストとします。
※Cloud Shellのペーストは、Shift+Insert

ログインすると、こんな感じにプロンプトが表示されてます。
※何も表示されない場合は、1回Enterキーを押下すると表示されます。

image.png

このままだと、パスワード認証できるユーザがいない場合はログインできないので、一度リブートします。(リブートは、コンソールメニューの「再起動」ボタンから実施)
リブート後、以下の画面で十字キーを押して画面を止めて、キーボードのeを押して編集画面に遷移します。

image.png

※cloud shellの画面を最大化しておいたほうが編集しやすいです。
linuxefiから始まる行の行末に、init=/bin/bashを追記して、Ctrl+Xキーを押下してブートします。

image.png

ブート後、ログインプロンプトではなくbashが起動してきたら成功!

image.png

SELInuxが有効な環境では、コンテクストを維持するためポリシーをロードする

# /usr/sbin/load_policy -i

リマウント

このままだと、/ファイルシステムがread onlyでマウントされているので、rwでリマウントします。

# mount -o remount,rw /

ファイルの修正

$HOME/.ssh/authorized_keysに公開鍵を追記します。

systemdを起動する

systemdを起動せずに、exitした場合、私の環境ではカーネルパニックが発生してしばらく操作できなくなりましたのでご注意ください

# exec /usr/lib/systemd/systemd

systemdの起動後、一応もう一回再起動しておく

シリアルコンソールを抜ける

※シリアルコンソールに接続中にセッションが切れると、セッションが残ってしばらくログインできなくなるので、ちゃんと抜けておきましょう

以下のキーをすばやく実行すると抜けれます
~.

コンソール接続を消す

使い終わったら、コンソール接続は消しておきましょう

9
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?