初心者でも簡単!Ciscoで安全なSSH設定方法

Telnet と SSH(Secure Shell)は、どちらもネットワーク経由で機器にログインするためのリモートアクセスの手段です。ただし、Telnet はパスワードを含むすべての通信を平文で送るので、途中で傍受されると内容をそのまま読み取られてしまいます。SSH は端末と機器の間の通信をすべて暗号化するので、リモートアクセスには SSH を使うことが推奨されています。使える場合は、常に SSH を使うようにしましょう。

この記事では、Cisco ルーターで SSH を設定し、Tera Term から SSH でログインするまでの手順を確認します。

この記事でわかること
  1. SSH を使うために必要な設定(ホスト名、ドメイン名、RSA 鍵、VTY、ユーザー名)
  2. SSH のバージョンを 2 にする理由
  3. Tera Term から SSH でログインする手順
  4. 認証のリトライ回数とタイムアウトの設定

構成

端末(192.168.12.100)から、R1(192.168.12.1)に SSH で接続します。

SSH(TCP 22) 端末(Tera Term) R1 .100 .1 192.168.12.0/24
図1 検証の構成

SSH の設定

SSH では、R1 が持つ RSA の鍵(公開鍵と秘密鍵のペア)を使って、端末が接続先の R1 を確認し、通信を暗号化するための鍵(共通鍵)を安全に決めます。そのあとの通信は、この共通鍵で暗号化されます。R1 では、次の設定を順に行います。

SSH 接続の流れ 関係する R1 の設定 1 TCP 22 番に接続 VTY で SSH を受け付ける transport input ssh 2 サーバーの確認・鍵交換 R1 の RSA 鍵(フィンガープリント) crypto key generate rsa 3 ユーザー認証 ローカルのユーザー名で認証 login local / username 4 暗号化された通信 鍵交換で決めた共通鍵で暗号化 全体:ip ssh version 2 で、SSH バージョン 2 だけを使う
図2 SSH 接続の流れと、関係する設定

ホスト名を設定する

通常の hostname コマンドでホスト名を設定します。RSA 鍵を作るにはホスト名とドメイン名が必要で、ルーターの初期設定のホスト名(Router)のままでは鍵を作れません。

Router(config)# hostname R1
R1(config)#

ドメイン名を設定する

ip domain-name コマンドで、ドメイン名を設定します。

R1(config)# ip domain-name hirotanoblog.com

RSA 鍵を作る

crypto key generate rsa コマンドで RSA の鍵ペアを作ります。今回は鍵の長さを 2048 ビットにします。鍵の名前は、ホスト名とドメイン名をつなげた FQDN(R1.hirotanoblog.com)になります。

R1(config)# crypto key generate rsa modulus 2048
The name for the keys will be: R1.hirotanoblog.com

% The key modulus size is 2048 bits
% Generating 2048 bit RSA keys, keys will be non-exportable...
[OK] (elapsed time was 3 seconds)

R1(config)#
*Aug 29 02:57:17.311: %SSH-5-ENABLED: SSH 1.99 has been enabled

鍵ができると、SSH サーバーが有効になります。ログの「SSH 1.99」は、SSH バージョン 1 とバージョン 2 の両方の接続を受け付ける状態(互換モード)であることを表しています。

SSH のバージョンを 2 にする

SSH にはバージョン 1 とバージョン 2 がありますが、セキュリティの観点からバージョン 2 だけを使うように設定します。

R1(config)# ip ssh version 2
SSH バージョン 1 は使わない

SSH バージョン 1 は推奨されていません。ip ssh version を設定しないと互換モードのままになり、バージョン 1 での接続も受け付けてしまうので、ip ssh version 2 を設定しておきます。また、Cisco は RSA 鍵の長さを 2048 ビット以上にすることを推奨しています。

VTY で SSH を有効にする

VTY(Telnet や SSH でログインするときの仮想端末)の設定です。

コマンド意味
transport input sshVTY で受け付ける接続を SSH だけにする。transport input all のように Telnet も許可されていると、Telnet でも接続できてしまう
login localログインするときに、ローカルに設定したユーザー情報(username コマンド)で認証する。SSH ではユーザー名が必要なので、login local(または AAA)で認証する
R1(config)# line vty 0 4
R1(config-line)# login local
R1(config-line)# transport input ssh

ユーザー名とパスワードを設定する

ログインするときに使うユーザー名とパスワードを、username コマンドで設定します。今回は、ユーザー名を admin、パスワードを CISCO にします。

R1(config)# username admin password CISCO
password より secret を使う

username ... password で設定したパスワードは、設定ファイルに平文(またはタイプ 7)で保存されます。タイプ 7 は簡単に元に戻せるので、平文と同じように扱う必要があります。実際の運用では、元に戻せないハッシュで保存する username admin secret (パスワード) を使うことをおすすめします。

SSH の接続確認

Tera Term で接続する

端末で Tera Term を起動し、Host に R1 の IP アドレス(192.168.12.1)を入力して、Service で SSH を選びます。

Tera Term: New connection画面イメージ
TCP/IP◉
1Host192.168.12.1
2Service○ Telnet ◉ SSH ○ Other
TCP port#22
SSH versionSSH2 ▾
IP versionAUTO ▾
OKCancelHelp
図3 Host に R1 の IP アドレスを入力し、Service で SSH を選ぶ(実際の画面ではなく、表示内容のポイントを示したイメージです)

ユーザー名とパスワードを入力する

初めて接続するときは、R1 の鍵のフィンガープリントが表示されます。接続先が R1 であることを確かめて、[続行]をクリックします。ユーザー名とパスワードを聞かれるので、username コマンドで設定したユーザー名とパスワードを入力し、[OK]をクリックします。

SSH Authentication画面イメージ
Logging in to 192.168.12.1
Authentication required.
1User nameadmin
2Passphrase(伏せています)
Remember password in memory✓
Forward agent
図4 username コマンドで設定したユーザー名とパスワードを入力する(実際の画面ではなく、表示内容のポイントを示したイメージです)

ログインできたことを確かめる

SSH で R1 にログインできました。

192.168.12.1 – Tera Term VT画面イメージ
1R1>
図5 SSH で R1 にログインできた(実際の画面ではなく、表示内容のポイントを示したイメージです)

ログインした直後は、ユーザー EXEC モード(R1>)です。設定を変えるには enable で特権 EXEC モードに入ります。特権モードのパスワードについては、Ciscoセキュリティ対策:パスワードとTelnet設定の基本 で説明しています。

認証のリトライ回数とタイムアウト

SSH のログインで認証をやり直せる回数を、5 回に変更します。既定値は 3 回で、設定できるのは 5 回までです。

R1(config)# ip ssh authentication-retries 5

SSH のタイムアウトを 100 秒に変更します。既定値は 120 秒で、設定できるのは 120 秒までです。

R1(config)# ip ssh time-out 100
ip ssh time-out の対象

ip ssh time-out は、接続してからログインする(SSH のネゴシエーションが終わる)までの待ち時間です。ログインしたあと、操作しないまま放っておいたときに切断するまでの時間は、VTY の exec-timeout(既定値は 10 分)で決まります。

まとめ

設定コマンド
ホスト名・ドメイン名hostname R1、ip domain-name hirotanoblog.com
RSA 鍵crypto key generate rsa modulus 2048
バージョンip ssh version 2
VTYlogin local、transport input ssh
ユーザーusername admin password CISCO(運用では secret を使う)
リトライ・タイムアウトip ssh authentication-retries 5、ip ssh time-out 100

 

コメント