Configurazione di Secure Shell su router e switch con Cisco IOS

Introduzione

Secure Shell (SSH) è un protocollo che fornisce una connessione sicura di accesso remoto ai dispositivi di rete. La comunicazione tra client e server è crittografata sia in SSH versione 1 che in SSH versione 2. Implementa SSH versione 2 quando possibile perché utilizza un algoritmo di crittografia di sicurezza più avanzato.,

Questo documento illustra come configurare ed eseguire il debug di SSH su router o switch Cisco che eseguono una versione del software Cisco IOS® che supporta SSH. Questo documento contiene ulteriori informazioni su versioni specifiche e immagini del software.

Prerequisiti

Requisiti

Componenti utilizzati

Le informazioni contenute in questo documento sono basate sul software Cisco IOS 3600 (C3640-IK9S-M), Release 12.2(2)T1.

SSH è stato introdotto in queste piattaforme e immagini Cisco IOS:

  • SSH Versione 1.,0 (SSH v1) server è stato introdotto in alcune piattaforme Cisco IOS e le immagini che iniziano in Cisco IOS Software Release 12.0.5.S.

  • Il client SSH è stato introdotto in alcune piattaforme e immagini Cisco IOS a partire dalla versione software Cisco IOS 12.1.3.T.

  • SSH terminal-line access (noto anche come reverse-Telnet) è stato introdotto in alcune piattaforme Cisco IOS e immagini a partire dalla versione software Cisco IOS 12.2.2.T.

  • Il supporto SSH Versione 2.0 (SSH v2)è stato introdotto in alcune piattaforme e immagini Cisco IOS a partire dalla versione software Cisco IOS 12.1(19) E.,

  • Fare riferimento a Come configurare SSH sugli switch Catalyst che eseguono CatOS per ulteriori informazioni sul supporto SSH negli switch.

Fare riferimento al Software Advisor (solo clienti registrati) per un elenco completo dei set di funzionalità supportati in diverse versioni di software Cisco IOS e su piattaforme diverse.

Le informazioni presentate in questo documento sono state create da dispositivi in un ambiente di laboratorio specifico. Tutti i dispositivi utilizzati in questo documento sono stati avviati con una configurazione (predefinita) cancellata., Se ti trovi in una rete live, assicurati di aver compreso il potenziale impatto di qualsiasi comando prima di utilizzarlo.

Convenzioni

Consultare le convenzioni Cisco Technical Tips per ulteriori informazioni sulle convenzioni dei documenti.

SSH v1 vs. SSH v2

Utilizzare Cisco Software Advisor (solo clienti registrati) per aiutarti a trovare la versione del codice con supporto appropriato per SSH v1 o SSH v2.,

Diagramma di rete

Prova l’autenticazione

Prova l’autenticazione senza SSH

Prova prima l’autenticazione senza SSH per assicurarti che l’autenticazione funzioni con il router Carter prima di aggiungere SSH. L’autenticazione può avvenire con un nome utente e una password locali o con un server di autenticazione, autorizzazione e contabilità (AAA) che esegue TACACS+ o RADIUS. (L’autenticazione tramite la password di riga non è possibile con SSH.,) Questo esempio mostra l’autenticazione locale, che consente di Telnet nel router con nome utente ” cisco “e password” cisco.”

!--- The aaa new-model command causes the local username and password on the router !--- to be used in the absence of other AAA statements.aaa new-modelusername cisco password 0 ciscoline vty 0 4transport input telnet!--- Instead of aaa new-model, you can use the login local command.

Test di autenticazione con SSH

Per testare l’autenticazione con SSH, è necessario aggiungere alle istruzioni precedenti per abilitare SSH su Carter e testare SSH dalle stazioni PC e UNIX.

ip domain-name rtp.cisco.com!--- Generate an SSH key to be used with SSH.crypto key generate rsaip ssh time-out 60ip ssh authentication-retries 2

A questo punto, il comando show crypto key mypubkey rsa deve mostrare la chiave generata., Dopo aver aggiunto la configurazione SSH, prova la tua capacità di accedere al router dal PC e dalla stazione UNIX. Se questo non funziona, vedere la sezione debug di questo documento.

Impostazioni di configurazione opzionali

Impedisci connessioni non SSH

Se vuoi impedire connessioni non SSH, aggiungi il comando transport input ssh sotto le righe per limitare il router alle sole connessioni SSH. Le telnet diritte (non SSH) sono rifiutate.,

line vty 0 4!--- Prevent non-SSH Telnets.transport input ssh

Verificare che gli utenti non SSH non possano Telnet al router Carter.

Configura un router IOS o Passa come client SSH

Per abilitare il supporto SSH su un router Cisco IOS sono necessari quattro passaggi:

  1. Configura il comando hostname.

  2. Configura il dominio DNS.

  3. Genera la chiave SSH da utilizzare.

  4. Abilitare il supporto di trasporto SSH per il virtual Type Terminal (vtys).,

Se si desidera che un dispositivo funga da client SSH per l’altro, è possibile aggiungere SSH a un secondo dispositivo chiamato Reed. Questi dispositivi sono quindi in una disposizione client-server, dove Carter agisce come server e Reed agisce come client. La configurazione del client SSH Cisco IOS su Reed è la stessa richiesta per la configurazione del server SSH su Carter.,

eseguire il comando SSH da Cisco IOS client SSH (Reed) per Cisco IOS server SSH (Carter) in ordine alla prova in questo modo:

  • SSH v1:

    ssh -l cisco -c 3des 10.13.1.99
  • SSH v2:

    ssh -v 2 -c aes256-cbc -m hmac-sha1-160 -l cisco 10.31.1.99

l’Installazione di un dispositivo IOS Router come server SSH che esegue RSA Autenticazione Utente basata su

Completare la procedura seguente per configurare il server SSH per eseguire RSA ” autenticazione di base.,

Aggiungi SSH Terminal-Line Access

Se hai bisogno di autenticazione SSH terminal-line in uscita, puoi configurare e testare SSH per telnet inverse in uscita tramite Carter, che funge da server comm per Philly.,gh Carter dalla Canna con l’aiuto di questo comando:

  • SSH v1:

    ssh -c 3des -p 2002 10.13.1.99
  • SSH v2:

    ssh -v 2 -c aes256-cbc -m hmac-sha1-160 -p 2002 10.31.1.99

È possibile utilizzare questo comando da Solaris:

ssh -c 3des -p 2002 -x -v 10.13.1.99

Limitare l’accesso SSH per una subnet

È necessario limitare SSH connettività a una specifica sottorete in cui tutti gli altri tentativi SSH da ip al di fuori della sottorete devono essere eliminati.,

È possibile utilizzare questi passaggi per ottenere lo stesso risultato:

  1. Definire un access-list che consenta il traffico da quella specifica sottorete.

  2. Limita l’accesso all’interfaccia a linea VTY con una classe access.

Questa è una configurazione di esempio. In questo esempio è consentito solo l’accesso SSH alla sottorete 10.10.10.0 255.255.255.0, a qualsiasi altro è negato l’accesso.

Nota: La stessa procedura per bloccare l’accesso SSH è applicabile anche su piattaforme switch.,Configure the SSH Version

Configure SSH v1:

carter(config)#ip ssh version 1

Configure SSH v2:

carter(config)#ip ssh version 2

Configure SSH v1 and v2:

carter(config)#no ip ssh version

Note: You receive this error message when you use SSHv1:

%SCHED-3-THRASHING: Process thrashing on watched message event.

Note: Cisco bug ID CSCsu51740 (registered customers only) is filed for this issue., La soluzione è configurare SSHv2.

Variazioni sull’output del comando banner

L’output del comando banner varia tra Telnet e diverse versioni delle connessioni SSH. Questa tabella illustra come le diverse opzioni di comando banner funzionano con vari tipi di connessioni.,

Banner Opzione di Comando Telnet SSH v1 solo SSH v1 e v2 SSH v2 solo
banner login Visualizzato, prima di entrare in dispositivo. Non visualizzato. Visualizzato prima di accedere al dispositivo., Visualizzato prima di accedere al dispositivo.
banner motd Visualizzato prima di accedere al dispositivo. Visualizzato dopo l’accesso al dispositivo. Visualizzato dopo l’accesso al dispositivo. Visualizzato dopo l’accesso al dispositivo.
banner exec Visualizzato dopo l’accesso al dispositivo., Visualizzato dopo l’accesso al dispositivo. Visualizzato dopo l’accesso al dispositivo. Visualizzato dopo l’accesso al dispositivo.

Impossibile visualizzare il banner di accesso

SSH versione 2 supporta il banner di accesso. Il banner di accesso viene visualizzato se il client SSH invia il nome utente quando avvia la sessione SSH con il router Cisco. Ad esempio, quando viene utilizzato il client ssh Secure Shell, viene visualizzato il banner di accesso., Quando viene utilizzato il client ssh PuTTY, il banner di accesso non viene visualizzato. Questo perché Secure Shell invia il nome utente per impostazione predefinita e PuTTY non invia il nome utente per impostazione predefinita.

Il client Secure Shell ha bisogno del nome utente per avviare la connessione al dispositivo SSH abilitato. Il pulsante Connetti non è abilitato se non si immettono il nome host e il nome utente. Questa schermata mostra che il banner di accesso viene visualizzato quando Secure Shell si connette al router. Quindi, viene visualizzato il prompt password del banner di accesso.,

Il client PuTTY non richiede il nome utente per avviare la connessione SSH al router. Questa schermata mostra che il client PuTTY si connette al router e richiede il nome utente e la password. Non visualizza il banner di accesso.

Questa schermata mostra che il banner di accesso viene visualizzato quando PuTTY è configurato per inviare il nome utente al router.,

eseguire il debug e mostrare i comandi

Prima di eseguire i comandi di debug descritti e illustrati qui, fare riferimento a Informazioni importanti sui comandi di debug. Alcuni comandi show sono supportati dallo strumento Interprete Output (solo clienti registrati), che consente di visualizzare un’analisi dell’output del comando show.per maggiori informazioni clicca qui.

  • mostra ssh—Visualizza lo stato delle connessioni server SSH.,

    carter#show ssh Connection Version Encryption State Username 0 1.5 DES Session started cisco
  • mostra ip ssh—Visualizza la versione e i dati di configurazione per SSH.,

  • Version 1 Connection and no Version 2

    carter#show ip ssh SSH Enabled - version 1.5 Authentication timeout: 60 secs; Authentication retries: 2
  • Version 2 Connection and no Version 1

    carter#show ip ssh SSH Enabled - version 2.0 Authentication timeout: 120 secs; Authentication retries: 3
  • Version 1 and Version 2 Connections

    carter#show ip ssh SSH Enabled - version 1.99 Authentication timeout: 120 secs; Authentication retries: 3
  • Sample Debug Output

    Router Debug

    Note: Some of this good debug output is wrapped to multiple lines because of spatial considerations.,

    Debug del server

    Nota: questo output è stato acquisito su una macchina Solaris.

    Cosa può andare storto

    Queste sezioni hanno un output di debug di esempio da diverse configurazioni errate.,

    SSH Da un Client SSH Non è Compilato con Data Encryption Standard (DES)

    Solaris Debug

    Router Debug

    Password non valida

    Router Debug

    SSH Client Invia non Supportato (Blowfish) Cipher

    Router Debug

    Geting il “%SSH-3-PRIVATEKEY: Impossibile recuperare la chiave privata RSA per” Errore

    Se si riceve questo messaggio di errore può essere causato a causa di qualsiasi cambiamento del nome di dominio o il nome host. Per risolvere questo problema, prova queste soluzioni alternative.

    • Zeroize le chiavi RSA e ri-generare le chiavi.,

      crypto key zeroize rsa label key_namecrypto key generate rsa label key_name modulus key_size
    • Se la soluzione precedente non funziona, provare questi passaggi:

      1. Azzerare tutte le chiavi RSA.

      2. Ricaricare il dispositivo.

      3. Crea nuove chiavi etichettate per SSH.

    Cisco bug ID CSCsa83601 (solo clienti registrati) è stato archiviato per affrontare questo comportamento.

    Suggerimenti per la risoluzione dei problemi

    • Se i comandi di configurazione SSH vengono rifiutati come comandi illegali, non è stata generata correttamente una coppia di chiavi RSA per il router., Assicurarsi di aver specificato un nome host e un dominio. Quindi utilizzare il comando crypto key generate rsa per generare una coppia di chiavi RSA e abilitare il server SSH.

    • Quando si configura la coppia di chiavi RSA, potrebbero verificarsi questi messaggi di errore:

      1. Nessun nome host specificato

        È necessario configurare un nome host per il router utilizzando il comando hostname global configuration.

      2. Nessun dominio specificato

        È necessario configurare un dominio host per il router utilizzando il comando ip domain-name global configuration.,

    • Il numero di connessioni SSH consentite è limitato al numero massimo di vtys configurati per il router. Ogni connessione SSH utilizza una risorsa vty.

    • SSH utilizza la sicurezza locale o il protocollo di sicurezza configurato tramite AAA sul router per l’autenticazione dell’utente. Quando si configura AAA, è necessario assicurarsi che la console non sia in esecuzione in AAA applicando una parola chiave nella modalità di configurazione globale per disabilitare AAA sulla console.

    • Nessuna connessione server SSH in esecuzione.,

      carter#show ssh%No SSHv2 server connections running.%No SSHv1 server connections running.

      Questo output suggerisce che il server SSH è disabilitato o non abilitato correttamente. Se è già stato configurato SSH, si consiglia di riconfigurare il server SSH nel dispositivo. Completare questi passaggi per riconfigurare il server SSH sul dispositivo.

      1. Elimina la coppia di chiavi RSA. Dopo l’eliminazione della coppia di chiavi RSA, il server SSH viene automaticamente disabilitato.,

        carter(config)#crypto key zeroize rsa

        Nota: è importante generare una coppia di chiavi con almeno 768 come dimensione di bit quando si abilita SSH v2.

        Attenzione: questo comando non può essere annullato dopo aver salvato la configurazione e dopo che le chiavi RSA sono state eliminate, non è possibile utilizzare certificati o CA o partecipare a scambi di certificati con altri peer IP Security (IPSec) a meno che non si riconfiguri l’interoperabilità CA rigenerando chiavi RSA, ottenendo il certificato CA e richiedendo nuovamente il proprio certificato.,Fare riferimento a crypto key zeroize rsa-Cisco IOS Security Command Reference, Release 12.3 per ulteriori informazioni su questo comando.

      2. Riconfigurare il nome host e il nome di dominio del dispositivo.

        carter(config)#hostname hostnamecarter(config)#ip domain-name domainname
      3. Genera una coppia di chiavi RSA per il tuo router, che abilita automaticamente SSH.

        carter(config)#crypto key generate rsa

        Fare riferimento a crypto key generate rsa – Cisco IOS Security Command Reference, Release 12.3 per ulteriori informazioni sull’utilizzo di questo comando.,

        Nota: È possibile ricevere il messaggio di errore SSH2 0: Unexpected mesg type Received a causa di un pacchetto ricevuto che non è comprensibile dal router. Aumentare la lunghezza della chiave mentre si generano chiavi rsa per ssh per risolvere questo problema.

      4. Configura il server SSH. Per abilitare e configurare un router/switch Cisco per server SSH, è possibile configurare i parametri SSH. Se non si configurano i parametri SSH, vengono utilizzati i valori predefiniti.,ip ssh {/}

        carter(config)# ip ssh

        Fare riferimento a ip ssh – Cisco IOS Security Command Reference, Release 12.3 per ulteriori informazioni sull’utilizzo di questo comando.

    Lascia un commento

    Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *