Cisco機器でSSHを有効化する方法

Cisco機器でSSHを有効化する方法のアイキャッチ画像(IOS / IOS-XE対応) Cisco

ネットワーク機器でリモートログインを安全に行うには、TelnetではなくSSH接続が必須です。
しかし実際には「RSA鍵の生成でエラーになる」「バージョン設定がうまくいかない」など、細かい部分で詰まるケースも少なくありません。

この記事では、Cisco公式ドキュメント(IOS / IOS-XE)をもとにしたSSH有効化の正しい手順を、
運用時の注意点・トラブル対処まで含めて丁寧に解説します。


SSH有効化の前提条件

SSHを有効化するためには、以下の条件を満たす必要があります。

要件内容
暗号化対応イメージSSHは「k9(crypto)」イメージでのみ利用可能。例:c800-universalk9-mz。非k9ではSSHコマンド自体が存在しない。
操作モードenable(特権モード)で実施。
ホスト名とドメイン名RSA鍵生成時に必須。例:hostname R1ip domain-name example.com
ip ssh rsa keypair-name <任意名> を使用する場合は省略可(IOS-XE 16.9(1)以降)。
RSA鍵長最小:768bit(技術的下限)/推奨:2048bit以上。

SSH設定手順(IOS / IOS-XE共通)

(1) ホスト名とドメイン名を設定

RSA鍵の生成に必要です。

Router(config)# hostname R1
R1(config)# ip domain-name example.com

(2) RSA鍵を生成

SSH通信を暗号化するためのRSA鍵を作成します。

R1(config)# crypto key generate rsa modulus 2048
  • 2048bit推奨(768bitは技術的最小値)
  • 既存鍵を再生成する場合は次のコマンドで削除後に実行: R1(config)# crypto key zeroize rsa

(3) SSHバージョンを指定

デフォルトでは v1/v2互換モード(Version 1.99) が有効です。
このモードは古いクライアントとの互換性を保ちますが、v1通信を許可するためセキュリティ上リスクがあります。
そのため、v2のみを明示的に有効化します。

R1(config)# ip ssh version 2

確認コマンド:

R1# show ip ssh
SSH Enabled - version 2.0

出力が「version 1.99」と表示される場合はv1/v2互換モードです。
v2限定にすることで暗号強度・安全性が向上します。


(4) ローカルユーザを作成

SSH認証に使用するユーザを作成します。

R1(config)# username admin secret P@ssw0rd
  • secret は暗号化保存、password は平文。
  • 必ず secret を使用してください。

(5) vtyライン設定(SSH専用に制限)

Telnetを禁止し、SSHのみ受け付けるようにします。

R1(config)# line vty 0 4
R1(config-line)# transport input ssh
R1(config-line)# login local
R1(config-line)# exec-timeout 10 0
設定説明
transport input sshTelnetを無効化してSSHのみ許可
login localローカルユーザ認証を利用
exec-timeout 10 010分無操作で自動切断

設定の確認

R1# show ip ssh
SSH Enabled - version 2.0
Authentication timeout: 120 secs; Authentication retries: 3

出力に SSH Enabled - version 2.0 が表示されれば設定完了です。


よくあるトラブルと解決策

症状原因対処
RSA鍵が生成できないdomain-name 未設定ip domain-name を設定して再実行
SSH接続不可vty設定がTelnetのままtransport input ssh に変更
v2が有効にならない鍵長が768bit未満2048bit以上で再生成
SSHコマンドが存在しない非k9イメージ使用k9(crypto)イメージへ変更

セキュリティ強化設定(推奨)

(1) 管理端末を限定(ACL)

管理ネットワーク以外からのSSHアクセスを拒否します。

R1(config)# access-list 10 permit 192.168.10.0 0.0.0.255
R1(config)# line vty 0 4
R1(config-line)# access-class 10 in

(2) SSHパラメータを調整

R1(config)# ip ssh time-out 60
R1(config)# ip ssh authentication-retries 3

(3) SCP転送を有効化

R1(config)# ip scp server enable

一部機種では aaa new-model が必要。
未設定だとSCPが起動しない場合があります。


設定を保存

R1# write memory
! または
R1# copy running-config startup-config

まとめ

SSH有効化手順(最新版)は以下の流れです。

  1. 暗号化対応(k9)イメージで起動していることを確認
  2. ホスト名・ドメイン名を設定(または keypair-name 指定)
  3. RSA鍵を生成(2048bit推奨)
  4. SSH v2を明示的に指定
  5. vtyラインをSSH専用に設定
  6. ACL・timeoutなどでセキュリティ強化

これで自己署名RSA鍵による安全なSSH通信が可能になります。
外部CA証明書を導入しなくても、Cisco機器内部で完結できます。


参考文献(Cisco公式ドキュメント)