このドキュメントでは、Ciscoスイッチがセキュアシェル(SSH)を使用してMicrosoft Blobストレージに接続できない問題を特定して解決する方法について説明します。
次の項目に関する知識があることが推奨されます。
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
製品ファミリ:Catalyst 9300シリーズスイッチ
ソフトウェアバージョン:Cisco IOS® XE 17.9.5
テクノロジー:LANスイッチング
AzureクラウドプラットフォームへのSSH接続
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
Microsoft Blob Storageは現在、SFTPアクセスを提供しており、シスコスイッチなどのネットワークデバイスからのファイル転送が可能です。Microsoft Blobなどのオフサイトクラウドストレージにデバイス構成をバックアップすることは、ディザスタリカバリと運用継続性の一般的な方法です。SFTPでは、SSHプロトコルを使用して安全なファイル転送を行います。SSHネゴシエーションの成功、キー交換、およびセキュアなデータチャネルを開く機能が必要です。ローカルSFTPサーバでは標準または十分にサポートされているプロトコルを実装できますが、Microsoft BLOB SFTPなどのクラウドベースのサービスでは互換性やプロトコルのネゴシエーションの違いが発生し、ファイル転送の成功に影響する可能性があります。このような相互運用性の問題をトラブルシューティングするには、syslog/debug出力の慎重な分析と、プロトコル、設定、または環境の原因を特定するための系統的なアプローチが必要です。
CiscoスイッチからMicrosoft BlobストレージのSFTPエンドポイントに設定をバックアップしようとすると、SSHネゴシエーションの完了後にバックアップが失敗します。ローカルSFTPサーバへのバックアップは問題なく成功し、スイッチのSFTPクライアントが他のシナリオで機能していることを示します。
症状:
障害発生中に記録された関連するdebug/syslog出力:
Feb 12 14:05:03.272: ssh2_calculate_modulus_length: modulus len 32 Feb 12 14:05:03.280: SSH: Signature verification successful Feb 12 14:05:03.280: SSH2: kex_derive_keys complete Feb 12 14:05:03.281: SSH2 CLIENT 0: SSH2_MSG_NEWKEYS sent Feb 12 14:05:03.281: SSH2 CLIENT 0: waiting for SSH2_MSG_NEWKEYS Feb 12 14:05:03.288: SSH2 CLIENT 0: SSH2_MSG_NEWKEYS received Feb 12 14:05:03.330: SSH2 CLIENT 0: Channel open failed, reason = 1 Feb 12 14:05:03.331: SSH CLIENT0: Session disconnected - error 0x00 Feb 12 14:05:03.332: SFTP write_process: sftp_write failed err 1545 Feb 12 14:05:03.332: SFTP ifs_write: ndent stat (2) 3
ログから得られた主な所見:
この問題を解決するには、Catalyst 9300スイッチでSSHウィンドウサイズの設定を増やして、Azure Cloudサーバの要件に対応します。Azure Cloudサーバーでは、17.10.1 Cisco IOS XEバージョンより前のシスコスイッチで設定されたデフォルト値よりも大きいSSHウィンドウサイズが必要です。
SSHウィンドウサイズを16384以上の値に設定します。ローエンドデバイスのCPUへの過度の影響を避けるために推奨される最大値は65536です。
device(config)# ip ssh window-size 65536
このコマンドを実行すると、次の警告メッセージが表示されます。
%% Warning: This cli may have impact on CPU. So, use only for SCP
Please configure ip tcp window-size<> with same value, for this CLI to work
SSHウィンドウサイズの値に一致するようにTCPウィンドウサイズを設定します。
device(config)# ip tcp window-size 65536
両方の構成変更を実装すると、スイッチとAzureクラウドサーバー間のSSH接続が正常に機能し、SFTPバックアップ操作が正常に実行できるようになります。
注:Cisco IOS XE Dublin 17.10.1以降では、SSHバルクデータ転送モードがデフォルトで有効になり、ウィンドウサイズは128 KBに設定されています。サポートされているSSHウィンドウサイズの最大値は131072ですが、ローエンドデバイスのCPUへの影響を最小限に抑えるため、最大値は65536にすることを推奨します。
注意: Azureクラウドサーバーに必要な最小ウィンドウサイズは16384です。ソリューションが効果的に機能するためには、SSHとTCPの両方のウィンドウサイズを同じ値に設定する必要があります。
この問題の根本的な原因は、Cisco Catalyst 9300スイッチで設定されているデフォルトのSSHウィンドウサイズと、Microsoft Azureクラウドサーバの最小SSHウィンドウサイズ要件との不一致です。デフォルトでは、Ciscoスイッチは8912のSSHウィンドウサイズ値を使用します。これは、16384以上の最小ウィンドウサイズを必要とするAzure Cloudサーバーには不十分です。この非互換性により、初期SSH認証とキー交換プロセスが正常に完了した場合でも、SFTPファイル転送に必要なSSHチャネルの確立が妨げられます。
| 改定 | 発行日 | コメント |
|---|---|---|
1.0 |
01-Jun-2026
|
初版 |