Cisco ルータを SSH クライアントにする
Cisco ルータはデフォルトで TELNET サーバとして動作しますが、設定することで SSH サーバとしても動作させることが可能です。詳しくは Cisco IOS が稼働するルータとスイッチでの Secure Shell の設定 に記載があります。
構成¶
今回は以下の構成でテストを行いました。CLIENT, SERVER ともに Cisco 7200 を使い、IOS は C7200-ADVENTERPRISEK9-M(Version 15.0(1)M)リリースを使いました。
サーバ側の設定¶
SSH アクセスを受け付ける、サーバ側の設定は以下の通りです。
ホスト名の設定¶
まず、ホスト名を設定します。後から鍵の設定を行いますが、ホスト名と、後述するドメインの設定が必須になります(他の項目も必須ですが...)。
1 2 3 |
|
インターフェイスの設定¶
インターフェイスの基本的な設定を行います。
1 2 3 4 |
|
ユーザの設定¶
AAA を有効にし、SSH アクセスの際に利用する、ユーザアカウントを作成しておきます。ここではログイン名「CISCO」、パスワード「PASSWORD」でユーザを作成しました。
1 2 |
|
ドメイン名の設定¶
ドメイン名を設定します。先に設定したホスト名と合わせて、鍵を生成する際に必要となります。
1 |
|
リモートアクセスを SSH だけに抑制する設定¶
リモートアクセスを SSH だけに抑制(限定)する為に、line vty の設定を行います。この設定を行うことで TELNET アクセスは受け付けなくなります。
1 2 3 |
|
鍵の生成¶
最後に RSA 鍵を生成します。鍵長は 2,048 ビットをしてみました。
1 2 3 4 5 6 7 8 |
|
サーバ側の設定は以上です。
クライアント側の設定¶
SSH クライアントとして動作させるだけであれば、特に SSH に特化した設定は必要なく、最低限の設定のみで OK です。
ホスト名の設定¶
ホスト名を設定します。
1 2 3 |
|
インターフェイスの設定¶
インターフェイスの基本設定を行います。
1 2 3 |
|
クライアント側の設定は以上で終わりです。
SSH 接続テスト¶
Cisco ルータから Cisco ルータへの SSH アクセスをテストしてみます。"-l"(エル)オプションでユーザ名を指定し、続けて SSH アクセスしたい機器の IP アドレスを指定します。
1 2 3 4 5 |
|
"ユーザ名@IP アドレス" のような指定は出来ないようです。試したみたら、エラーになってしまいました。
1 2 |
|
SSH Version 2 に限定する¶
サーバ側で受け付けるアクセスを SSH Version 2 に限定する(Version 1 は拒否する)には、サーバ側で以下のコマンドを設定します。
1 |
|
クライアントからバージョンを指定して SSH アクセスを行うには "-v" オプションに続けてバージョンを指定します。省略した場合は SSH Version 2 になるようです。以下は Version 1 指定で SSH アクセスを行った場合の実行結果です。サーバ側で Version 2 のみ、受け付ける設定を実施している為、アクセスが拒否されているのが分かります。
1 2 3 |
|
以下は Version 2 指定で SSH アクセスを行った場合の実行結果です。上手くアクセス出来ているのが分かります。
1 2 3 4 5 |
|