Rocky9コンテナから古いCisco機器にSSHできず、Rocky8で解決した話(ChatGPT-4o)
👉 関連記事:ChatGPTに相談しながら、MacにAnsible環境を構築してみた話【Docker+Rocky Linux 9】
Contents
はじめに
古い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_fatal
やSSH2_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-rsa
やdiffie-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】
“Rocky9コンテナから古いCisco機器にSSHできず、Rocky8で解決した話(ChatGPT-4o)” に対して2件のコメントがあります。