Database Support Blog

  • Oracle Cloud
2024.09.19

OCIに構築したWindowsサーバーの管理者ユーザーのパスワードリセット方法 ~その②~

はじめに

OCI ComputeのWindowsサーバーにおける管理者ユーザーのパスワードリセット方法を、以下の記事でご紹介しました。


本記事では、別の方法として「インスタンス・コンソール接続」で、より簡単にパスワードをリセットする方法をご紹介します。


インスタンス・コンソール接続とは

インスタンス・コンソール接続は、主に実行中のインスタンスに「セキュア・シェル(SSH)」接続や「リモート・デスクトップ」接続ができない場合に、トラブルシューティングを目的として利用します。インスタンス・コンソール接続には、以下の方法があります。

  • ・シリアル・コンソール接続
  • ・VNCコンソール接続

シリアル・コンソール接続は、キーボードでテキストを打ち込む方法です。一方で、VNCコンソール接続は、マウスとキーボードでの入力が可能なGUIベースの方法です。今回の接続先はWindowsサーバーのため、GUIで操作できるVNCコンソール接続を利用します。

別インスタンスを作成する方法との比較

別インスタンスを作成する方法」と「VNCコンソール接続を利用する方法」を比較した結果は、以下のとおりです。

別インスタンスを作成する方法VNCコンソール接続を利用する方法
バックアップ取得ブートボリュームを操作するため、
バックアップ取得が必要
不要
アプリケーションのインストール工数インストール不要PuTTY、VNC Clientのインストールが必要
追加課金新規に別のインスタンスを作成するため、課金が発生する課金は発生しない
全体作業時間長い短い
サービス影響時間手順開始からが完了までの間サービス停止が発生するWindowsサーバーのセーフモード起動中はサービス停止が発生する

事前準備

VNCコンソール接続をおこなうためには、VNCの接続元にPuTTYとVNC Clientを事前にインストールしておいてください。本記事の接続元は、Windowsマシンを対象としています。

PuTTYインストール

接続元のWindows PowerShellからWindowsサーバーに接続するためには、PuTTYに含まれる plink.exe(*1) と puttygen.exe(*2) を利用します。PuTTYは、こちらからダウンロードできます(他社サイトに移動します)

(*1)コマンドラインで接続するためのツール
(*2)SSHキーペアを作成するためのツール

VNC Clientインストール

Windowsサーバーの画面を接続元から操作するには、VNC Client(*1)を使用します。今回は、VNC ClientとしてRealVNC Viewerを利用します。RealVNC Viewerは、こちらからダウンロードできます(他社サイトに移動します)

(*1)リモートデスクトップのようにネットワーク上のサーバーに接続してGUI画面を操作するためのツール。上記以外にも複数のツールが提供されています。

実行手順

SSHキーペアの作成

PuTTYgenにて、SSHキーペア(秘密鍵と公開鍵)を作成します。

1.PuTTYgenを起動します。

2.「Generate」を選択します。


3.マウスカーソルを動かして、SSHキーペアを作成します。

4.作成された公開鍵は、後述の手順にて利用するため、テキストエディタに保存します。

5.「Public key for pasting into OpenSSh authorized_keys files:」に出力された文字列をコピーします。
文字列の最初から最後までコピーしてください。

コピー例:「ssh-rsa AAAAB3NzaC1yc2EAAAADAQA***********… rsa-key-name

6.コピーした文字列は、テキストエディタにペーストします。

7.「Save private key」を選択して、秘密鍵を保存します。

8.「Are you sure you want to save this key without a passphrase to protect it?」と表示されるので「はい」を選択します。

9.任意のファイル名で、秘密鍵を保存します。今回は、C:\oci_work\rsa-key-vnc.ppk とします。

VNC接続文字列の作成

作成した公開鍵と秘密鍵を利用して、VNCコンソール接続をおこなうための文字列を作成します。

1.OCIコンソールから「インスタンス > 対象のインスタンス」を選択し、インスタンスの詳細画面を開きます。

2.左下の「Resources」から「コンソール接続」を選択します。

3.「ローカル接続の作成」を選択します。

4.「公開キーの貼り付け」を選択後、「SSHキーペアの作成」の手順6で、テキストエディタに保存した文字列を「SSH公開キー」にペーストします。

5.画面下部の「コンソール接続の作成」を選択します。

6.作成されたコンソール接続の右側にある「…」を選択し、「WindowsのVNC接続のコピー」を選択します。

7.コピーした内容をテキストエディタにペーストします。

コマンド内に以下のパスが確認できるので、作成したppkファイルが保存されているフルパスに置き換えます。

【コマンド内のパス】

$env:homedrive$env:homepath\oci\console.ppk

【ppkファイルのフルパス】

C:\oci_work\rsa-key-vnc.ppk

※修正箇所は2か所あります。
※コマンド実行時は、1行で実施するので改行は入れないでください。

【修正例】

▼置き換え前

Start-Job { Echo N | plink.exe -i $env:homedrive$env:homepath\oci\console.ppk -N -ssh -P 443 -l ocid1.instanceconsoleconnection.oc1.ap-tokyo-1.・・・ -L 5905:ocid1.instance.oc1.ap-tokyo-1.・・・:5905 instance-console.ap-tokyo-1.oci.oraclecloud.com }; sleep 5; plink.exe -i $env:homedrive$env:homepath\oci\console.ppk -N -L 5900:localhost:5900 -P 5905 localhost -l ocid1.instance.oc1.ap-tokyo-1.・・・


▼置き換え後

Start-Job { Echo N | plink.exe -i C:\oci_work\rsa-key-vnc.ppk -N -ssh -P 443 -l ocid1.instanceconsoleconnection.oc1.ap-tokyo-1.・・・ -L 5905:ocid1.instance.oc1.ap-tokyo-1.・・・:5905 instance-console.ap-tokyo-1.oci.oraclecloud.com }; sleep 5; plink.exe -i C:\oci_work\rsa-key-vnc.ppk -N -L 5900:localhost:5900 -P 5905 localhost -l ocid1.instance.oc1.ap-tokyo-1.・・・

VNC接続文字列の実行

修正したVNC接続文字列を接続元から実行して、接続先とVNCコンソール接続を確立します。


1.接続元にて「Windows PowerShell」を「管理者として実行」します。

2.修正したコマンドを実行します。「Access granted. Press Return to begin session.」の出力後に、「Enter」を押下します。PowerShellのコンソールは、接続状態を維持するため、そのままにします。

※コマンドは1行で実行ください。

VNC Clientからの接続

1.接続元でRealVNC Viewerを起動します。

2.RealVNC Viewerのアドレスバーに「localhost:5900」を入力し、Enterで実行します。

3.接続先Windowsサーバーのログイン画面が表示されます。

Windowsサーバーのセーフモード起動

Administratorユーザーでログインするため、Windowsサーバーをセーフモードで起動します。Administratorユーザーは、通常モードでは無効になっていますが、セーフモードで起動した場合はログインすることができます。セーフモードの実行中は、ネットワークに接続されていない状態のため、他のクライアントからは接続できません。


1.ロックを解除するため、画面上部を右クリック後「Send Ctrl + Alt + Del」を選択します。

2.画面右下の電源ボタンから「再起動」を選択します。

3.Windosサーバーの再起動中に、「F5キー」を押し続けて、「Windowsブートマネージャー」を起動します。

4.画面上部を右クリック後「Send F8」を選択して、「詳細ブート オプション」を表示します。

5.「セーフ モード」を選択します。

Administratorユーザーのログイン

セーフモードで起動後、Administratorユーザーでログインします。

1.「opcユーザー」と「Administratorユーザー」が表示されるので、「Administratorユーザー」を選択します。

2.Administratorユーザーのパスワードを変更するように求められます。

3.パスワードを入力し、ログインします。

4.Administratorユーザーでログインされ、「セーフモード」のデスクトップが表示されます。

opcユーザーのパスワードリセット

Administratorユーザーで、opcユーザーのパスワードをリセットします。

1.Windowsのスタートボタンを右クリックして「コンピューターの管理」 >「ローカル ユーザーとグループ」 > 「ユーザー」 に移動します。

2.「opc」ユーザーを右クリックして、「パスワードの設定」を選択します。

3.「opc のパスワード設定」画面が表示されるので、「続行」を選択します。

4.「新しいパスワード」を入力後、「OK」を選択します。

Windowsサーバーの通常モード起動

現在、セーフモードで起動中のため、通常モードで起動し直します。通常モードで起動した時点から、クライアントからの接続が可能です。

1.Windowsのスタートボタンをクリックして「電源」>「再起動」を選択します。

2.接続元で起動していた「PowerShell」と「RealVNC Viewer」を閉じます。

事後作業

以上で、opcユーザーのパスワードリセットは完了です。事後作業として、本作業で行った設定を戻します。

VNCコンソール接続の削除

Windowsサーバーへの接続に利用したVNCコンソール接続を削除します。


1.対象のコンソール接続の一番右側にある「…」を選択して、「削除」します。

SSHキーペアの削除

PuTTYgenで作成したSSHキーペアのファイルを削除します。

PuTTYやRealVNC Viewerのアンインストール

今後、PuTTYやRealVNC Viewerを利用しない場合は、アンインストールします。

注意点

「VNC接続文字列の実行」の手順で「FATAL ERROR: Network error: Connection refused」が発生した場合は、以下をご確認ください。

  • ・Windows PowerShellが管理者権限で起動されているか?
  • ・SSHキーペアの秘密キーまたは公開キーの設定値が正しいか?

参考情報

オラクル社情報(オラクル社サイトに移動します)

VNCコンソールへの接続

OCI Compute - How to reset the OPC User Password on a Windows Instance Utilising the Operating System Safe Mode (Doc ID 2985957.1)

OCI Compute - Windows Console Connection Fails: FATAL ERROR: Network error: Connection refused (ドキュメントID 2893894.1)

Oracle Cloud InfrastructureでVNCコンソール接続を作成することによるコンピュート・インスタンスのトラブルシューティング

シリアル・コンソールでsshできないインスタンスのトラブルシュートをする

本ブログ関連記事

最後に

本記事は、トラブルシューティングを目的としています。作業は、セキュリティ面に十分ご注意いただき、実施してください。なお、本記事のようなトラブルを未然に防止する意味でも、「パスワード管理の仕組み作り」が重要と考えます。あわせてご検討いただけますと幸いです。



執筆者情報

かもだ えいじ プロフィール画像

2012年アシストに中途入社。InfiniDBとVerticaのフィールド、サポート業務を経験し、現在は、主にVerticaとOracle Cloudのサポート業務に従事。
趣味は、ビール、ジム、サッカー観戦、スーパー銭湯、投資信託。
好きな言葉は「元気があれば何でもできる」。



■本記事の内容について
 本記事に示した定義及び条件は変更される場合があります。あらかじめご了承ください。

■商標に関して
 ・Oracle®、Java、MySQL及びNetSuiteは、Oracle、その子会社及び関連会社の米国及びその他の国における登録商標です。
 ・Amazon Web Services、AWS、Powered by AWS ロゴ、[およびかかる資料で使用されるその他の AWS 商標] は、Amazon.com, Inc. またはその関連会社の商標です。
  文中の社名、商品名等は各社の商標または登録商標である場合があります。

関連している記事

  • Oracle Cloud
  • Oracle Database
2024.10.11

Oracle Cloud VMware Solutionを構築してみました!

前回の記事でOCVSの概要やメリットをお伝えしました。 本記事では実際にOCVSを構築する手順、および作成したvCenterへ実際に接続する手順をお伝えします!

  • Oracle Cloud
2024.09.10

管理者ユーザー必見!OCI IAMポリシーでwhere句を使い条件式を設定する方法

OCI IAMポリシーは、where句を使った条件式を使用することで、柔軟な権限付与が可能になります。今回は、where句による条件式の設定例およびwhere句の有無による違いについてご紹介します。

  • Oracle Cloud
  • Oracle Database
2024.09.03

Computeインスタンスを再作成せずにブートボリュームをリストアする方法とは?

2024年5月のアップデートで、Computeインスタンスを再作成せずにブートボリュームをリストアできるブートボリューム置き換えの機能が追加されました。この機能追加により、従来のリストア方法よりも手順が少なくなり、障害発生時にも迅速な復旧が可能になりました。

ページの先頭へ戻る