Cisco ルータはデフォルトで TELNET サーバとして動作しますが、設定することで SSH サーバとしても動作させることが可能です。詳しくは Cisco IOS が稼働するルータとスイッチでの Secure Shell の設定 に記載があります。
構成
今回は以下の構成でテストを行いました。CLIENT, SERVER ともに Cisco 7200 を使い、IOS は C7200-ADVENTERPRISEK9-M(Version 15.0(1)M)リリースを使いました。
サーバ側の設定
SSH アクセスを受け付ける、サーバ側の設定は以下の通りです。
ホスト名の設定
まず、ホスト名を設定します。後から鍵の設定を行いますが、ホスト名と、後述するドメインの設定が必須になります(他の項目も必須ですが...)。
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# hostname Server
インターフェイスの設定
インターフェイスの基本的な設定を行います。
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」でユーザを作成しました。
Server(config)# aaa new-model
Server(config)# username CISCO password PASSWORD
ドメイン名の設定
ドメイン名を設定します。先に設定したホスト名と合わせて、鍵を生成する際に必要となります。
Server(config)# ip domain-name test.local
リモートアクセスを SSH だけに抑制する設定
リモートアクセスを SSH だけに抑制(限定)する為に、line vty の設定を行います。この設定を行うことで TELNET アクセスは受け付けなくなります。
Server(config)# line vty 0 4
Server(config-line)# transport input ssh
Server(config-line)# exit
鍵の生成
最後に RSA 鍵を生成します。鍵長は 2,048 ビットをしてみました。
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 です。
ホスト名の設定
ホスト名を設定します。
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# hostname Client
インターフェイスの設定
インターフェイスの基本設定を行います。
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 アドレスを指定します。
Client# ssh -l CISCO 192.168.1.2
Password: [パスワードを入力]
Server>
"ユーザ名@IP アドレス" のような指定は出来ないようです。試したみたら、エラーになってしまいました。
Client# ssh CISCO@192.168.1.2
% No user specified nor available for SSH client
SSH Version 2 に限定する
サーバ側で受け付けるアクセスを SSH Version 2 に限定する(Version 1 は拒否する)には、サーバ側で以下のコマンドを設定します。
Server(config)# ip ssh version 2
クライアントからバージョンを指定して SSH アクセスを行うには "-v" オプションに続けてバージョンを指定します。省略した場合は SSH Version 2 になるようです。以下は Version 1 指定で SSH アクセスを行った場合の実行結果です。サーバ側で Version 2 のみ、受け付ける設定を実施している為、アクセスが拒否されているのが分かります。
Client#ssh -v 1 -l CISCO 192.168.1.2
[Connection to 192.168.1.2 aborted: error status 0]
以下は Version 2 指定で SSH アクセスを行った場合の実行結果です。上手くアクセス出来ているのが分かります。
Client#ssh -v 2 -l CISCO 192.168.1.2
Password: [パスワードを入力]
Server>
コメント