Rocky9コンテナから古いCisco機器にSSHできず、Rocky8で解決した話(ChatGPT-4o)

👉 関連記事:ChatGPTに相談しながら、MacにAnsible環境を構築してみた話【Docker+Rocky Linux 9】

はじめに

古いCiscoルータ(CISCO892)に対して、Mac上のDockerからAnsible連携を試みていた際、思わぬSSH接続エラーに直面。原因はOpenSSHの仕様変更と、Cisco側の古い鍵交換アルゴリズムの制限でした。

この記事では、Rocky Linux 9での失敗と格闘の記録、そしてRocky Linux 8による解決、さらにChatGPTがどう助けてくれたかを記録しておきます。


使用したCisco機器の情報

接続先は以下の古いルータ:

Cisco IOS Software, C890 Software (C890-UNIVERSALK9-M), Version 15.4(3)M6a
Cisco 892 (MPC8300) processor
System image file is "flash:c890-universalk9-mz.154-3.M6a.bin"
  • 発売は10年以上前のモデル
  • 鍵交換アルゴリズムは diffie-hellman-group14-sha1 など、旧式が中心
  • 最新OpenSSHクライアントとは相性が悪い

Rocky9から接続を試みるも、失敗

まず、Rocky Linux 9 のDocker環境で作業を開始。

docker run -it rockylinux:9 /bin/bash
dnf install -y openssh-clients iputils

しかし、SSH接続時に以下のようなエラー:

ssh admin@10.1.100.40
Unable to negotiate with 10.1.100.40 port 22: no matching key exchange method found.
Their offer: diffie-hellman-group14-sha1, diffie-hellman-group1-sha1

調査で分かったこと

  • OpenSSH v8.9 以降では、セキュリティ上の理由で古いアルゴリズムが無効化
  • KexAlgorithms +diffie-hellman-group14-sha1.ssh/config に追加しても libcrypto エラーで失敗
  • ssh_dispatch_run_fatalSSH2_UNEXPECTED_MSG エラーが頻発

ChatGPTで状況整理&ヒントをもらう

最初の質問:

Rocky9のDocker環境から、Cisco機器にSSHしたいけどエラーが出ます。どうすれば?

すると、ChatGPTが以下を提案:

  • SSHのエラー内容を精査して設定の確認(鍵交換アルゴリズムやHostKey)
  • .ssh/config での明示的なアルゴリズム指定
  • それでもダメなら OpenSSHのバージョンが古いOSを使ってみる案

これが決定打に。


Rocky Linux 8で再挑戦 → 成功!

docker run -it --name rocky8_ssh rockylinux:8 /bin/bash
dnf install -y openssh-clients iputils

SSH接続成功:

[runsuru@6a9ba1ecee63 ~]$ ssh runsuru@10.1.100.40
...
runsuru01#

OpenSSHのバージョンが古く、Cisco側と互換性のあるアルゴリズムが残っていたことが勝因。


補足:なぜRocky8だと接続できるのか?

  • Rocky8のOpenSSHは v8.0(もしくはそれ以前)
  • 古い ssh-rsadiffie-hellman-group14-sha1 などが標準で有効
  • Cisco C890のようなレガシー機器と接続するにはちょうど良い

今回の教訓

✅ 「接続できない」時、焦らずエラーメッセージを読むこと
✅ クライアント側のOpenSSHバージョンにも注目する
✅ ChatGPTに投げれば、“OS変えてみては?”という発想までサポートしてくれる


まとめ

  • Rocky Linux 9ではOpenSSHが新しすぎて、古いCiscoルータに接続できなかった
  • Rocky Linux 8に変更するだけで問題解決
  • ChatGPTを使えば、トラブル時の解決アプローチや代替案の整理がスムーズ

👉 この手のレガシー機器と付き合うネットワークエンジニアにとって、ChatGPT + Dockerで柔軟なOS切り替えは今後の武器になると実感しました。


📌 次回はこの環境をAnsibleでどう活用していくかをご紹介します。

ChatGPTに相談しながらGitHub連携した話も合わせてどうぞ!

👉 関連記事:ChatGPTに相談しながら、MacにAnsible環境を構築してみた話【Docker+Rocky Linux 9】

Follow me!

Rocky9コンテナから古いCisco機器にSSHできず、Rocky8で解決した話(ChatGPT-4o)” に対して2件のコメントがあります。

コメントを残す