Skip to content

Cisco ルータを SSH クライアントにする

Cisco ルータはデフォルトで TELNET サーバとして動作しますが、設定することで SSH サーバとしても動作させることが可能です。詳しくは Cisco IOS が稼働するルータとスイッチでの Secure Shell の設定 に記載があります。

構成

今回は以下の構成でテストを行いました。CLIENT, SERVER ともに Cisco 7200 を使い、IOS は C7200-ADVENTERPRISEK9-M(Version 15.0(1)M)リリースを使いました。

file

サーバ側の設定

SSH アクセスを受け付ける、サーバ側の設定は以下の通りです。

ホスト名の設定

まず、ホスト名を設定します。後から鍵の設定を行いますが、ホスト名と、後述するドメインの設定が必須になります(他の項目も必須ですが...)。

1
2
3
Router# configure terminal 
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)# hostname Server

インターフェイスの設定

インターフェイスの基本的な設定を行います。

1
2
3
4
Server(config)# interface FastEthernet 0/0
Server(config-if)# ip address 192.168.1.2 255.255.255.0
Server(config-if)# no shutdown 
Server(config-if)# exit

ユーザの設定

AAA を有効にし、SSH アクセスの際に利用する、ユーザアカウントを作成しておきます。ここではログイン名「CISCO」、パスワード「PASSWORD」でユーザを作成しました。

1
2
Server(config)# aaa new-model 
Server(config)# username CISCO password PASSWORD

ドメイン名の設定

ドメイン名を設定します。先に設定したホスト名と合わせて、鍵を生成する際に必要となります。

1
Server(config)# ip domain-name test.local

リモートアクセスを SSH だけに抑制する設定

リモートアクセスを SSH だけに抑制(限定)する為に、line vty の設定を行います。この設定を行うことで TELNET アクセスは受け付けなくなります。

1
2
3
Server(config)# line vty 0 4
Server(config-line)# transport input ssh
Server(config-line)# exit

鍵の生成

最後に RSA 鍵を生成します。鍵長は 2,048 ビットをしてみました。

1
2
3
4
5
6
7
8
Server(config)# crypto key generate rsa modulus 2048 
The name for the keys will be: Server.test.local

% The key modulus size is 2048 bits
% Generating 2048 bit RSA keys, keys will be non-exportable...[OK]

Server(config)#
*Nov 17 23:17:59.079: %SSH-5-ENABLED: SSH 1.99 has been enabled

サーバ側の設定は以上です。

クライアント側の設定

SSH クライアントとして動作させるだけであれば、特に SSH に特化した設定は必要なく、最低限の設定のみで OK です。

ホスト名の設定

ホスト名を設定します。

1
2
3
Router# configure terminal 
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)# hostname Client

インターフェイスの設定

インターフェイスの基本設定を行います。

1
2
3
Client(config)# interface FastEthernet 0/0
Client(config-if)# ip address 192.168.1.1 255.255.255.0
Client(config-if)# no shutdown

クライアント側の設定は以上で終わりです。

SSH 接続テスト

Cisco ルータから Cisco ルータへの SSH アクセスをテストしてみます。"-l"(エル)オプションでユーザ名を指定し、続けて SSH アクセスしたい機器の IP アドレスを指定します。

1
2
3
4
5
Client# ssh -l CISCO 192.168.1.2

Password: [パスワードを入力]

Server>

"ユーザ名@IP アドレス" のような指定は出来ないようです。試したみたら、エラーになってしまいました。

1
2
Client# ssh CISCO@192.168.1.2
% No user specified nor available for SSH client

SSH Version 2 に限定する

サーバ側で受け付けるアクセスを SSH Version 2 に限定する(Version 1 は拒否する)には、サーバ側で以下のコマンドを設定します。

1
Server(config)# ip ssh version 2

クライアントからバージョンを指定して SSH アクセスを行うには "-v" オプションに続けてバージョンを指定します。省略した場合は SSH Version 2 になるようです。以下は Version 1 指定で SSH アクセスを行った場合の実行結果です。サーバ側で Version 2 のみ、受け付ける設定を実施している為、アクセスが拒否されているのが分かります。

1
2
3
Client#ssh -v 1 -l CISCO 192.168.1.2

[Connection to 192.168.1.2 aborted: error status 0]

以下は Version 2 指定で SSH アクセスを行った場合の実行結果です。上手くアクセス出来ているのが分かります。

1
2
3
4
5
Client#ssh -v 2 -l CISCO 192.168.1.2

Password: [パスワードを入力]

Server>