In questo documento viene descritto come identificare e risolvere i problemi quando gli switch Cisco non sono in grado di connettersi all'archiviazione BLOB di Microsoft utilizzando Secure Shell.
Cisco raccomanda la conoscenza dei seguenti argomenti:
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
Famiglia di prodotti: Switch Catalyst serie 9300
Versione del software: Cisco IOS® XE 17.9.5
Tecnologia: Switching per LAN
Connessioni SSH alla piattaforma cloud Azure
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Microsoft Blob Storage offre ora l'accesso SFTP, consentendo il trasferimento di file da dispositivi di rete come gli switch Cisco. Il backup delle configurazioni dei dispositivi su sistemi di storage cloud esterni, come Microsoft Blob, è una pratica comune per il ripristino di emergenza e la continuità operativa. SFTP sfrutta il protocollo SSH per il trasferimento sicuro dei file. Richiede la riuscita della negoziazione SSH, lo scambio di chiavi e la capacità di aprire un canale dati sicuro. Mentre i server SFTP locali possono avere implementazioni di protocollo standard o ben supportate, i servizi basati su cloud come Microsoft Blob SFTP possono introdurre differenze di compatibilità o negoziazione del protocollo che possono influire sul corretto trasferimento dei file. La risoluzione di questi problemi di interoperabilità richiede un'attenta analisi degli output di syslog/debug e un approccio metodico per isolare le cause ambientali, di configurazione o del protocollo.
Quando si cerca di eseguire il backup delle configurazioni da switch Cisco a un endpoint SFTP di archiviazione BLOB Microsoft, il backup non riesce dopo il completamento della negoziazione SSH. I backup sui server SFTP locali vengono eseguiti senza problemi, a indicare che il client SFTP dello switch funziona anche in altri scenari.
Sintomi:
Output di debug/syslog pertinente registrato durante l'errore:
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
Principali osservazioni tratte dai registri:
Il problema viene risolto aumentando la configurazione delle dimensioni della finestra SSH sullo switch Catalyst 9300 per soddisfare i requisiti del server cloud di Azure. I server cloud di Azure richiedono dimensioni della finestra SSH più grandi del valore predefinito configurato sugli switch Cisco prima della versione 17.10.1 di Cisco IOS XE.
Configurare le dimensioni della finestra SSH su un valore almeno di 16384. Il valore massimo consigliato è 65536 per evitare un impatto eccessivo sulla CPU dei dispositivi di fascia bassa:
device(config)# ip ssh window-size 65536
Dopo aver eseguito questo comando, viene visualizzato questo messaggio di avviso:
%% 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
Configurare le dimensioni della finestra TCP in modo che corrispondano al valore delle dimensioni della finestra SSH:
device(config)# ip tcp window-size 65536
Dopo aver implementato entrambe le modifiche alla configurazione, la connessione SSH tra lo switch e il server cloud di Azure funziona correttamente, consentendo operazioni di backup SFTP riuscite.
Nota: A partire da Cisco IOS XE Dublin 17.10.1, la modalità di trasferimento dei dati in blocco SSH è abilitata per impostazione predefinita con una dimensione della finestra predefinita di 128 KB. Anche se il valore massimo supportato per le dimensioni della finestra SSH è 131072, si consiglia di usare un valore massimo di 65536 per ridurre al minimo l'impatto della CPU sui dispositivi di fascia bassa.
Attenzione: Le dimensioni minime richieste per le finestre dei server cloud di Azure sono 16384. Per un funzionamento efficace della soluzione, è necessario configurare le dimensioni delle finestre SSH e TCP con valori corrispondenti.
La causa principale di questo problema è una mancata corrispondenza tra le dimensioni predefinite della finestra SSH configurate sugli switch Cisco Catalyst 9300 e i requisiti minimi delle dimensioni della finestra SSH per i server cloud Microsoft Azure. Per impostazione predefinita, gli switch Cisco usano un valore di dimensioni della finestra SSH pari a 8912, un valore insufficiente per i server cloud di Azure che richiedono dimensioni minime della finestra pari ad almeno 16384. Questa incompatibilità impedisce la creazione del canale SSH necessario per i trasferimenti di file SFTP, anche se i processi iniziali di autenticazione SSH e scambio di chiavi sono stati completati correttamente.
| Revisione | Data di pubblicazione | Commenti |
|---|---|---|
1.0 |
01-Jun-2026
|
Versione iniziale |