はじめに
さくらVPSで構築したLinuxサーバにログインしようとしたところ、
パスワードを忘れてしまいログインできなくなりました。(公開鍵の登録後回しにしてました、、)
さくらVPSでLinuxのログインパスワードを忘れても、
GRUBを利用することでリセット可能です。
特に、VNCでGRUBに入れない場合は、シリアルコンソールを使う方法が有効です。
同様のトラブルに備えて、手順を覚えておくと安心です。
本記事では、GRUB(起動メニュー)からパスワードをリセットしてログインできるようにした手順をまとめます。
同じ状況で困っている方の参考になれば幸いです。
結論:さくらVPSでは、VNCコンソールを使うことで、Linuxのパスワードをリセットできます。
この記事では以下を解説します。
・Linuxのログインパスワードを忘れた場合の対処法
・GRUBからrecoveryモードで起動する方法
・root権限でパスワードを変更する手順
※パスワード忘れ・セキュリティ対策として、SSH鍵認証の導入をお勧めします。
前提条件
・さくらVPSを利用している
・コンソール(VNCなど)にアクセスできること
・root権限が必要
※環境によって操作方法が異なる場合があります
復旧手順
(結論)Linuxのパスワードを忘れた場合は、GRUBのrecoveryモードから起動し、
rootユーザでパスワードを再設定することで復旧できます。

①さくらVPSのサービス一覧から対象サーバのコンソールのVNCコンソールを開きます。
②コンソールが開いたら、右上のCtrl + Alt + Del を押して、再起動させます。

③起動時にESCキーを連打すると、GRUBメニュー(起動オプション一覧)が表示されます。※環境によってはShiftキーの場合もあります(入力遅延により、ESCキー押しても反応しない場合もあります。)
④起動時にGRUBメニューが表示されたら、対象のOS(Ubuntu)を選択して「e」を押します。

⑤起動オプションを書き換える「linux」で始まる行を探し、末尾に以下を追記します。画像の赤枠の場所に追記します。
rw init=/bin/bash

⑤Ctrl + x または F10 を押して起動します。
⑥パスワードを変更する。以下のコマンドを実行します。コマンド実行後に新しいパスワードを入力します(画面には何も表示されませんが、入力されています)。確認のため、もう一度同じパスワードを入力します。※rootユーザーで実行しているため、任意のユーザーのパスワードを変更できます
passwd ユーザ名
password updated successfully と出れば完了です!
⑦以下のコマンドで通常起動に戻します。
exec /sbin/init
最後に
VNCではESCキーが効かず、GRUBメニューに入れずに詰まりました。ESCキーは連打ではなく、リズムよく押すと成功しやすいです。
実際の運用の際は、公開鍵でSSH接続できるようにしておきましょう。。。
ssh-copy-id test-user-name@ipアドレス
さくらVPSの料金などもこちらにまとめておりますので、参考になればと思います。

コメント