ICTSC2025 本戦 問題解説: [4268] 手順書の必要性

問題文

概要

C841-1が故障したため予備機と交換し、手元のバックアップコンフィグを流し込んだ。これで大丈夫──と思ったのに、なぜかSSHが接続できない。

C841-1へのSSH接続を復旧させてください。

前提条件

  • C841-1には物理的にコンソール接続で作業できる状態である
  • 予備機は同一の型番・バージョンである

制約

  • 特になし

初期状態

  • C841-1にSSH接続不可

終了状態

  • C841-1にSSH接続可能

接続情報

ホスト名 IPアドレス ユーザ パスワード
c841-1 192.168.1.3 user ictsc2025

解説

Cisco IOSでは、RSA鍵ペアはNVRAMに独立して保存されており、running-configstartup-configには含まれません。
そのため、予備機にバックアップコンフィグを流し込んだだけでは、SSHに必要なRSA鍵ペアが存在せず、SSHサーバが起動できない状態になります。

コンソール接続で show ip sshを確認すると、以下のように表示されます。

c841-1#show ip ssh
SSH Disabled - version 2.0
%Please create RSA keys to enable SSH (and of atleast 768 bits for SSH v2).

コンフィグにはhostnameip domain nameip ssh version 2usernameline vtyの設定がすべて揃っていますが、
RSA鍵ペアが存在しないため、SSHデーモンが起動できない状態でした。

コンソール接続でRSA鍵ペアを生成することで、SSHが有効化されます。

c841-1#configure terminal
c841-1(config)#crypto key generate rsa modulus 2048
The name for the keys will be: c841-1.ictsc.net
% The key modulus size is 2048 bits
% Generating 2048 bit RSA keys, keys will be non-exportable...
[OK] (elapsed time was 2 seconds)

*Mar 13 07:14:24.548: %SSH-5-ENABLED: SSH 2.0 has been enabled

鍵の生成が完了すると、%SSH-5-ENABLED: SSH 2.0 has been enabledというログが出力され、SSH接続が可能になります。

なお、IOS 15.5のSSHは古い鍵交換方式(diffie-hellman-group1-sha1等)を使用するため、現行のOpenSSHクライアントからは互換オプションの指定が必要な場合があります。

ssh \
  -o KexAlgorithms=diffie-hellman-group1-sha1 \
  -o HostKeyAlgorithms=ssh-rsa \
  [email protected]

採点基準

  • C841-1にSSH接続できる状態になっていること(100点)

講評

比較的シンプルな問題で、15チーム中13チームが正解していました。

多くのチームがshow ip sshでSSHが無効であることを確認し、crypto key generate rsaで鍵を生成するという想定通りの手順を踏んでいました。
RSA鍵長はチームによって1024bitから4096bitまでさまざまでしたが、いずれもSSH接続は成功していました。

また、一部のチームは問題環境で既に設定されているip domain nameusernameline vtyの設定を改めて投入したり、ドメイン名を上書きするなどの余計な変更を行っていました。
インターネットで調べた記事やAIに聞いた結果をそのまま実行するのではなく、コマンドの意味を理解した上で必要な作業だけを行うことが重要です。