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

 Telnet と Secure Shell (SSH) は、デバイスに接続するための リモートアクセス手段です。ただし、Telnet はネットワーク上を平文で送信されるため、Telnet は安全ではありません。そのため、傍受された場合、その内容は簡単に読み取られてしまいます。SSHは、送信元と送信先間のすべてのトラフィックを暗号化するため、リモートアクセス方法として推奨されています。利用可能な場合は、常に SSH を使用すべきです。

スポンサーリンク

SSHの設定

 SSHは公開鍵と秘密鍵を使った暗号化方式を採用します。 鍵は、ホスト名とドメイン名を元に、crypto key generate rsa コマンドで作成します。

ホスト名の設定

 これは通常のhostnameコマンドの設定です。ただし、Ciscoがデフォルトで使用しているホスト名(ルータであれば、Router)では、鍵を生成できません。

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

ドメイン名の設定

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

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

公開鍵の生成

 公開鍵を生成します。今回、鍵長は2048ビットとします。ホスト名とドメイン名から成るFQDNを元に鍵が生成されます。

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と2がありますが、セキュリティの観点からバージョン2を推奨します。

R1(config)# ip ssh version 2

SSHの有効化

 VTYでSSHを有効化するのですが、デフォルトでは、transport input allのため、TelnetもSSHも接続を受け付けます。SSHのみに接続を制限するには、transport input sshと設定します。また、ユーザ名、パスワードによる認証を有効化するため、login local を設定します。login localはログインの際にローカルに設定されたユーザ情報(usernameコマンド)を参照させるコマンドです。 SSHでは、ユーザ名が必須のため、login localが必要です。

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
スポンサーリンク

SSH接続確認

 端末側(以下、TeraTermの場合)でSSH接続を試みます。

 フィンガープリントが出力された場合は、続行をクリックします。すると、ユーザ名、パスワードの入力画面が出力されます。usernameコマンドで設定したユーザ名とパスワードを入力し、OKをクリックします。

 すると、ルータへSSHでログインができます。

スポンサーリンク

SSH認証リトライ、タイムアウト設定

 SSHログイン認証のリトライ数を5に変更します。デフォルトは3です。

R1(config)# ip ssh authentication-retries 5

 SSHのタイムアウト値を100秒に変更します。デフォルトでは、120秒です。

R1(config)# ip ssh time-out 100

コメント