パスワードリカバリとは

特権EXECモードへ移行するためのパスワードを忘れてしまうと、設定の確認や設定の変更を行うことができなくなります。また、コンソールログイン時のパスワードを忘れてしまうと、CLIへのログインすらもできなくなります。パスワードを忘れてしまった場合に、パスワード以外の設定を保持したまま、新しいパスワードに変更することをパスワードリカバリといいます。

パスワードリカバリの仕組みを理解するには、コンフィグレーションレジスタの意味とルータの起動シーケンスを知っておく必要があります。コンフィグレーションレジスタの意味とルータの起動シーケンスを思い出して、下記のパスワードリカバリの手順を読んでください。

特権EXECモードがわからない場合のパスワードリカバリを想定しています。

パスワードリカバリの手順

Step1.コンソールポートへ接続する
ルータのコンソールポートへ接続します。

Step2.ルータをハードブートする
ルータの電源を切り、再度電源を入れます。

Step3.ルータ起動途中にブレーク信号を送信しROMモニタで起動する
Tera Termやなどのターミナルソフトウェアから、IOSを展開中にブレーク信号を送信してブートプロセスを中断しROMモニタで起動します。

Tera Termではブレーク信号の送信は[Alt]+[b]です。ターミナルソフトウェアによってブレーク信号の送信方法は異なります。

Step4.コンフィグレーションレジスタを0x2142に変更する
ROMモニタからコンフィグレーションレジスタを0x2142に変更します。これにより、ルータ起動時にstartup-configのロードを行わずに初期状態で起動させることができます。

コンフィグレーションレジスタの変更は、次のコマンドを入力します。

rommon1>confreg 0x2142

Step5.ROMモニタからIOSのブートを実行する
resetコマンドにより、IOSのブートを実行します。

Step6.ユーザEXECモードから特権EXECモードへ移行する

ルータは初期状態で起動するので、パスワードを入力せずにユーザEXECモードから特権EXECモードに移行することができます。

Router>enable
Router#

Step7.startup-configをrunning-configにコピーする
初期状態で起動しても、設定はstartup-configに保存されたままです。その内容をcopy startup-config running-configコマンドでrunning-configにコピーします。ここでユーザEXECモードに戻ってしまうと、パスワードがわからないままなので注意してください。

Step8.必要なインタフェースをno shutdownする
初期状態で起動しているため、インタフェースはshutdown状態です。そのため、必要なインタフェースをno shutdownコマンドで有効にする必要があります。

Step9.適切なパスワードを設定する
新しいパスワードを設定します。

(config)#enable secret <password>

Step10.コンフィグレーションレジスタを0x2102に変更する
コンフィグレーションレジスタを元の0x2102に戻します。戻さないでいると、ルータを再起動したときに再び初期状態で起動してしまいます。コンフィグレーションレジスタの変更は、グローバルコンフィグレーションモードで次のコマンドを入力します。

(config)#config-register 0x2102

Step11.running-configをstartup-configにコピーする
新しく設定したパスワードも含めて設定を保存します。設定を保存しておかなければ、ルータを再起動したときに、またパスワードがわからずに特権EXECモードに移れなくなってしまいます。

以上のような手順で、わからなくなってしまったパスワードを新しいパスワードに変更することができます。そして、パスワード以外の設定は元のままです。

パスワードリカバリの例

Cisco1841ルータでパスワードリカバリを行っている出力例を下記に示します。

System Bootstrap, Version 12.3(8r)T8, RELEASE SOFTWARE (fc1)
~省略~

program load complete, entry point: 0x8000f000, size: 0x10f9d58
Self decompressing the image : ################################# ←Step3.
monitor: command "boot" aborted due to user interrupt
rommon 1 > confreg 0x2142 ←Step4.


You must reset or power cycle for new config to take effect
rommon 2 > reset ←Step5.

System Bootstrap, Version 12.3(8r)T8, RELEASE SOFTWARE (fc1)
~省略~

program load complete, entry point: 0x8000f000, size: 0x10f9d58
Self decompressing the image : ###################################################
##################################################################################
########################################## [OK]

~省略~

         --- System Configuration Dialog ---

Would you like to enter the initial configuration dialog? [yes/no]: no ←初期状態で起動


Press RETURN to get started!

~省略~
Router>enable ←Step6.
Router#copy startup-config running-config ←Step7.
Destination filename [running-config]? 

821 bytes copied in 0.332 secs (2473 bytes/sec)
N-Study# ←設定を読み込んだのでホスト名が変化
N-Study#configure terminal 
Enter configuration commands, one per line.  End with CNTL/Z.
N-Study(config)#interface fastehternet 0/0
N-Study(config-if)#no shutdown ←Step8. 必要なインタフェースをすべて no shutdown
N-Study(config-if)#exit
N-Study(config)#enable secret gene ←Step9.
N-Study(config)#config-register 0x2102 ←Step10.
N-Study(config)#exit
*Jun 13 01:31:01.827: %SYS-5-CONFIG_I: Configured from console by console
N-Study#copy running-config startup-config ←Step11.
Destination filename [startup-config]? 
Building configuration...
[OK]
N-Study#