De documentatie van dit product is waar mogelijk geschreven met inclusief taalgebruik. Inclusief taalgebruik wordt in deze documentatie gedefinieerd als taal die geen discriminatie op basis van leeftijd, handicap, gender, etniciteit, seksuele oriëntatie, sociaaleconomische status of combinaties hiervan weerspiegelt. In deze documentatie kunnen uitzonderingen voorkomen vanwege bewoordingen die in de gebruikersinterfaces van de productsoftware zijn gecodeerd, die op het taalgebruik in de RFP-documentatie zijn gebaseerd of die worden gebruikt in een product van een externe partij waarnaar wordt verwezen. Lees meer over hoe Cisco gebruikmaakt van inclusief taalgebruik.
Cisco heeft dit document vertaald via een combinatie van machine- en menselijke technologie om onze gebruikers wereldwijd ondersteuningscontent te bieden in hun eigen taal. Houd er rekening mee dat zelfs de beste machinevertaling niet net zo nauwkeurig is als die van een professionele vertaler. Cisco Systems, Inc. is niet aansprakelijk voor de nauwkeurigheid van deze vertalingen en raadt aan altijd het oorspronkelijke Engelstalige document (link) te raadplegen.
In dit document wordt beschreven hoe u Secure Shell (SSH) kunt configureren en debuggen op routers of switches van Cisco die Cisco IOS®-software gebruiken.
De gebruikte Cisco IOS-image moet een k9 (crypto)-image zijn om SSH te ondersteunen. Bijvoorbeeld, c3750e-universalk9-tar.122-35.SE5.tar is een k9-afbeelding (crypto).
De informatie in dit document is gebaseerd op Cisco IOS 3600-software (C3640-IK9S-M), release 12.2(2)T1.
SSH werd geïntroduceerd in de volgende Cisco IOS-platforms en ‑images:
Ondersteuning voor SSH-versie 2.0 (SSH v2) is geïntroduceerd in Cisco IOS-platformen en -installatiekopieën vanaf Cisco IOS-softwarerelease 12.1(19)E.
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Test de verificatie eerst zonder SSH om er zeker van te zijn dat verificatie werkt met de router Carter voordat u SSH toevoegt. Verificatie kan worden uitgevoerd met een lokale gebruikersnaam en wachtwoord, of met een AAA-server (verificatie, autorisatie en accounting) met TACACS+ of RADIUS. (Verificatie met het lijnwachtwoord is niet mogelijk bij SSH.) Dit voorbeeld toont lokale verificatie, waarmee u met Telnet toegang krijgt tot de router met gebruikersnaam 'cisco' en wachtwoord 'cisco'.
Opmerking: In dit document wordt vty gebruikt om het type virtuele terminal aan te geven.
!--- 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-model
username cisco password 0 cisco
line vty 0 4
transport input telnet
!--- Instead of aaa new-model, you can use the login local command.
Om verificatie met SSH te testen, moet u de vorige instructies toevoegen om SSH in te schakelen op de router Carter en SSH te testen vanaf pc's en UNIX-stations.
ip domain-name rtp.cisco.com
!--- Generate an SSH key to be used with SSH.
crypto key generate rsa
ip ssh time-out 60
ip ssh authentication-retries 2
De opdracht show crypto key mypubkey rsa moet nu de gegenereerde sleutel tonen. Nadat u de SSH-configuratie heeft toegevoegd, kunt u testen of u de router kunt benaderen vanaf pc’s en UNIX-stations.
Als u niet-SSH-verbindingen wilt voorkomen, voegt u onder de regels de opdracht transport input ssh toe om de router te beperken tot alleen SSH-verbindingen. Normale Telnet-verbindingen (niet-SSH) worden geweigerd.
line vty 0 4
!--- Prevent non-SSH Telnets.
transport input ssh
Test om er zeker van te zijn dat niet-SSH-gebruikers geen toegang via Telnet kunnen krijgen tot de router Carter.
Er zijn vier stappen vereist om SSH-ondersteuning in te schakelen op een Cisco IOS-router:
1. Configureer de opdracht hostname.
2. Configureer het DNS-domein.
3. Genereer de SSH-sleutel.
4. Schakel ondersteuning van SSH-transport in voor de vty.
Als u wilt dat één apparaat fungeert als SSH-client voor het andere apparaat, kunt u SSH toevoegen aan een tweede apparaat met de naam Reed. Hiermee worden deze apparaten in een client/server-combinatie gezet, waarbij Carter fungeert als de server en Reed als de client. De SSH-clientconfiguratie van Cisco IOS op Reed is gelijk aan de configuratie die vereist is voor de SSH-serverconfiguratie op Carter.
!--- Step 1: Configure the hostname if you have not previously done so.
hostname carter
!--- 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-model
username cisco password 0 cisco
!--- Step 2: Configure the DNS domain of the router.
ip domain-name rtp.cisco.com
!--- Step 3: Generate an SSH key to be used with SSH.
crypto key generate rsa
ip ssh time-out 60
ip ssh authentication-retries 2
!--- Step 4: By default the vty transport is Telnet. In this case, Telnet is disabled and only SSH is supported.
line vty 0 4
transport input ssh
!--- Instead of aaa new-model, you can use the login local command.
Geef SSH de volgende opdracht van Cisco IOS SSH-client (Reed) naar Cisco IOS SSH-server (Carter) om dit te testen:
ssh -v 2 -c aes256-cbc -m hmac-sha1-160 -l cisco 10.31.1.99
Voer de volgende stappen uit om de SSH-server zodanig te configureren dat deze op RSA gebaseerde verificatie uitvoert.
1. Geef de hostnaam op.
Router(config)#hostname
2. Definieer een standaarddomeinnaam.
Router(config)#ip domain-name
3. Genereer RSA-sleutelparen.
Router(config)#crypto key generate rsa
4. Configureer SSH-RSA-sleutels voor verificatie van gebruikers en de server.
Router(config)#ip ssh pubkey-chain
5. Configureer de SSH-gebruikersnaam.
Router(conf-ssh-pubkey)#username
6. Geef de openbare RSA-sleutel van de externe peer op.
Router(conf-ssh-pubkey-user)#key-string
7. Geef het type en de versie van de SSH-sleutel op. (Deze stap is optioneel.)
Router(conf-ssh-pubkey-data)#key-hash ssh-rsa
8. Sluit de huidige modus af en keer terug naar de modus Privileged EXEC.
Router(conf-ssh-pubkey-data)#end
Als verificatie van de uitgaande SSH-terminallijn nodig is, kunt u SSH configureren en testen voor uitgaande omgekeerde Telnet-verbindingen via Carter die fungeert als communicatieserver voor Philly.
ip ssh port 2001 rotary 1
line 1 16
no exec
rotary 1
transport input ssh
exec-timeout 0 0
modem InOut
stopbits 1
Als Philly is verbonden met de Carter-poort 2, kunt u SSH vanaf Reed via Carter naar Philly configureren met de volgende opdracht:
ssh -v 2 -c aes256-cbc -m hmac-shal-160 -p 2002 10.31.1.99
U kunt de volgende Solaris-opdracht gebruiken:
ssh -c 3des -p 2002 -x -v 10.13.1.99
U moet SSH-connectiviteit met een specifiek subnetwerk beperken wanneer alle andere SSH-pogingen van IP-adressen buiten het subnetwerk worden afgewezen.
U kunt de volgende stappen uitvoeren om hetzelfde te doen:
Hierna volgt een configuratievoorbeeld. In dit voorbeeld is alleen SSH-toegang tot het subnet 10.10.10.0 met subnetmasker 255.255.255.0 toegestaan; toegang tot andere adressen wordt geweigerd.
Router(config)#access-list 23 permit 10.10.10.0 0.0.0.255
Router(config)#line vty 5 15
Router(config-line)#transport input ssh
Router(config-line)#access-class 23 in
Router(config-line)#exit
Opmerking: De zelfde procedure wordt om de toegang van SSH neer te sluiten ook gebruikt voor switch platforms.
carter(config)#ip ssh version 2
De output van de opdracht banner verschilt tussen Telnet- en verschillende versies van SSH-verbindingen. In deze tabel wordt aangegeven hoe de verschillende opties van de opdracht banner werken bij verschillende typen verbindingen.
Banneropdrachtopties |
Telnet |
SSH v2 |
bannerlog |
Wordt weergegeven voordat wordt aangemeld op het apparaat. |
Wordt weergegeven voordat wordt aangemeld op het apparaat. |
banner motd |
Wordt weergegeven voordat wordt aangemeld op het apparaat. |
Wordt weergegeven nadat is aangemeld op het apparaat. |
banner exec |
Wordt weergegeven nadat is aangemeld op het apparaat. |
Wordt weergegeven nadat is aangemeld op het apparaat. |
Opmerking: SSH versie 1 wordt niet meer aanbevolen.
SSH-versie 2 ondersteunt de aanmeldingsbanner. Wanneer de SSH-sessie wordt gestart met de Cisco-router, wordt de aanmeldingsbanner weergegeven als de SSH-client de gebruikersnaam verzendt. Wanneer bijvoorbeeld de Secure Shell-opdracht 'ssh client' wordt gebruikt, wordt de aanmeldingsbanner getoond. Wanneer de PuTTY-opdracht 'ssh client' wordt gebruikt, wordt de aanmeldingsbanner niet getoond. Dat komt doordat SSH standaard de gebruikersnaam verzendt en PuTTY niet.
De SSH-client heeft de gebruikersnaam nodig om de verbinding met het apparaat met ingeschakelde SSH te initiëren. De knop om te verbinden is niet actief wanneer u de hostnaam en gebruikersnaam niet opgeeft. Deze schermopname toont aan dat de login banner wordt weergegeven wanneer SSH verbinding maakt met de router. De banner vraagt vervolgens om een wachtwoord.
De PuTTY-client heeft de gebruikersnaam niet nodig om de SSH-verbinding met de router te initiëren. In deze schermafbeelding is te zien dat de PuTTY-client verbinding maakt met de router en dat wordt gevraagd naar gebruikersnaam en wachtwoord. De aanmeldingsbanner wordt niet getoond.
Deze schermopname laat zien dat de login banner wordt weergegeven wanneer PuTTY is geconfigureerd om de gebruikersnaam naar de router te verzenden.
Voordat u de hier beschreven opdrachten met debug opgeeft, moet u de TechNote Important Information on Debug Commands (Belangrijke informatie over opdrachten met debug) raadplegen. Bepaalde opdrachten met show worden ondersteund door de tool Output Interpreter (alleen voor geregistreerde klanten). Hiermee kunt u een analyse van de output van opdrachten met show genereren.
debug ip ssh - toont foutopsporingsberichten voor SSH.
show ssh - toont de status van SSH-serververbindingen.
carter#show ssh
Connection Version Encryption State Username
0 2.0 DES Session started cisco
show ip ssh- toont de versie en configuratiegegevens voor SSH.
carter#show ip ssh
SSH Enabled - version 2.0
Authentication timeout: 120 secs; Authentication retries: 3
00:23:20: SSH0: starting SSH control process
00:23:20: SSH0: sent protocol version id SSH-2.0-Cisco-1.25
00:23:20: SSH0: protocol version id is - SSH-2.0-1.2.26
00:23:20: SSH0: SSH_SMSG_PUBLIC_KEY msg
00:23:21: SSH0: SSH_CMSG_SESSION_KEY msg - length 112, type 0x03
00:23:21: SSH: RSA decrypt started
00:23:21: SSH: RSA decrypt finished
00:23:21: SSH: RSA decrypt started
00:23:21: SSH: RSA decrypt finished
00:23:21: SSH0: sending encryption confirmation
00:23:21: SSH0: keys exchanged and encryption on
00:23:21: SSH0: SSH_CMSG_USER message received
00:23:21: SSH0: authentication request for userid cisco
00:23:21: SSH0: SSH_SMSG_FAILURE message sent
00:23:23: SSH0: SSH_CMSG_AUTH_PASSWORD message received
00:23:23: SSH0: authentication successful for cisco
00:23:23: SSH0: requesting TTY
00:23:23: SSH0: setting TTY - requested: length 24, width 80; set:
length 24, width 80
00:23:23: SSH0: invalid request - 0x22
00:23:23: SSH0: SSH_CMSG_EXEC_SHELL message received
00:23:23: SSH0: starting shell for vty
Opmerking: Dit is de output van Solaris-machines.
rtp-evergreen.rtp.cisco.com#ssh -c 3des -l cisco -v 10.31.1.99
rtp-evergreen#/opt/CISssh/bin/ssh -c 3des -l cisco -v 10.13.1.99
SSH Version 1.2.26 [sparc-sun-solaris2.5.1], protocol version 1.5.
Compiled with RSAREF.
rtp-evergreen: Reading configuration data /opt/CISssh/etc/ssh_config
rtp-evergreen: ssh_connect: getuid 0 geteuid 0 anon 0
rtp-evergreen: Allocated local port 1023.
rtp-evergreen: Connecting to 10.13.1.99 port 22.
rtp-evergreen: Connection established.
rtp-evergreen: Remote protocol version 2.0,
remote software version Cisco-1.25
rtp-evergreen: Waiting for server public key.
rtp-evergreen: Received server public key (768 bits)
and host key (512 bits).
rtp-evergreen: Host '10.13.1.99' is known and matches the host key.
rtp-evergreen: Initializing random; seed file //.ssh/random_seed
rtp-evergreen: Encryption type: 3des
rtp-evergreen: Sent encrypted session key.
rtp-evergreen: Installing crc compensation attack detector.
rtp-evergreen: Received encrypted confirmation.
rtp-evergreen: Doing password authentication.
cisco@10.13.1.99's password:
rtp-evergreen: Requesting pty.
rtp-evergreen: Failed to get local xauth data.
rtp-evergreen: Requesting X11 forwarding with authentication spoofing.
Warning: Remote host denied X11 forwarding, perhaps xauth program
could not be run on the server side.
rtp-evergreen: Requesting shell.
rtp-evergreen: Entering interactive session.
De volgende secties bevatten voorbeelden van output van foutopsporing bij diverse onjuiste configuraties.
00:26:51: SSH0: starting SSH control process
00:26:51: SSH0: sent protocol version id SSH-2.0-Cisco-1.25
00:26:52: SSH0: protocol version id is - SSH-2.0-1.2.26
00:26:52: SSH0: SSH_SMSG_PUBLIC_KEY msg
00:26:52: SSH0: SSH_CMSG_SESSION_KEY msg - length 112, type 0x03
00:26:52: SSH: RSA decrypt started
00:26:52: SSH: RSA decrypt finished
00:26:52: SSH: RSA decrypt started
00:26:52: SSH: RSA decrypt finished
00:26:52: SSH0: sending encryption confirmation
00:26:52: SSH0: keys exchanged and encryption on
00:26:52: SSH0: SSH_CMSG_USER message received
00:26:52: SSH0: authentication request for userid cisco
00:26:52: SSH0: SSH_SMSG_FAILURE message sent
00:26:54: SSH0: SSH_CMSG_AUTH_PASSWORD message received
00:26:54: SSH0: password authentication failed for cisco
00:26:54: SSH0: SSH_SMSG_FAILURE message sent
00:26:54: SSH0: authentication failed for cisco (code=7)
00:26:54: SSH0: Session disconnected - error 0x07
00:39:26: SSH0: starting SSH control process
00:39:26: SSH0: sent protocol version id SSH-2.0-Cisco-1.25
00:39:26: SSH0: protocol version id is - SSH-2.0-W1.0
00:39:26: SSH0: SSH_SMSG_PUBLIC_KEY msg
00:39:26: SSH0: SSH_CMSG_SESSION_KEY msg - length 112, type 0x03
00:39:26: SSH0: Session disconnected - error 0x20
Een wijziging in de domeinnaam of hostnaam kan deze foutmelding activeren. Gebruik deze tijdelijke oplossingen:
Zet alle RSA-sleutels op nul en genereer de sleutels opnieuw.
crypto key zeroize rsa label key_name
crypto key generate rsa label key_name modulus key_size
Als de vorige tijdelijke oplossing niet werkt, voert u de volgende stappen uit:
Zet alle RSA-sleutels op nul.
Laad het apparaat opnieuw.
Maak nieuwe gelabelde sleutels voor SSH.
Als de SSH-configuratieopdrachten worden afgewezen als ongeldig, is er geen RSA-sleutelpaar voor de router gegenereerd. Zorg ervoor dat u een hostnaam en domein opgeeft. Gebruik vervolgens de opdracht crypto key generate rsa om een RSA-sleutelpaar te genereren en de SSH-server in te schakelen.
Wanneer u het RSA-sleutelpaar configureert, kunnen de volgende foutmeldingen worden getoond:
"Geen hostnaam opgegeven".
U moet de globale configuratie-opdracht hostname gebruiken om een hostnaam voor de router te configureren.
"Geen domein opgegeven".
U moet de globale configuratie-opdracht ip domain-name gebruiken om een hostdomein voor de router te configureren.
Het aantal toegestane SSH-verbindingen is beperkt tot het maximale aantal vty
geconfigureerd voor de router. Elke SSH-verbinding gebruikt een vty
bron.
SSH gebruikt lokale security of het security-protocol dat is geconfigureerd via AAA op de router voor gebruikersverificatie. Wanneer u AAA configureert, moet u ervoor zorgen dat de console niet wordt uitgevoerd onder AAA. Pas een trefwoord toe in de globale configuratiemodus om AAA op de console uit te schakelen.
No SSH server connections running:
carter#show ssh
%No SSHv2 server connections running.
Deze output geeft aan dat de SSH-server is uitgeschakeld of niet goed is ingeschakeld. Als u SSH al heeft geconfigureerd, is het raadzaam de SSH-server van het apparaat opnieuw te configureren. Voer de volgende stappen uit om de SSH-server van het apparaat opnieuw te configureren.
carter(config)#crypto key zeroize rsa
Opmerking: Het is belangrijk om zeer belangrijke paren met minstens 768 als beetjegrootte te produceren wanneer u SSH v2 toelaat.
Voorzichtig: Deze opdracht kan niet ongedaan worden gemaakt nadat u de configuratie hebt opgeslagen. Nadat RSA-sleutels zijn verwijderd, kunt u bovendien geen certificaten van de CA gebruiken of certificaten uitwisselen met andere IPSec-peers (IP Security), tenzij u de RSA-sleutels opnieuw genereert om CA-interoperabiliteit opnieuw te configureren, het CA-certificaat op te halen en uw eigen certificaat weer aan te vragen.
2. Configureer de hostnaam en domeinnaam van het apparaat opnieuw.
carter(config)#hostname hostname
carter(config)#ip domain-name domainname
3. Genereer RSA-sleutelparen voor uw router. Hiermee wordt SSH automatisch ingeschakeld.
carter(config)#crypto key generate rsa
Opmerking: Raadpleeg crypto key generate rsa – Cisco IOS Security Command Reference, Release 12.3 voor meer informatie over deze opdracht.
Opmerking: U kunt de "SSH2 0: Onverwacht bericht van het type van bericht ontvangen" foutenmelding toe te schrijven aan een ontvangen pakket dat niet door de router begrijpelijk is. Vergroot de sleutellengte tijdens het genereren van RSA-sleutels voor SSH om dit probleem op te lossen.
4. Configureer de SSH-server.
5. Om een Cisco-router/switch te configureren en in te schakelen als SSH-server moet u SSH-parameters configureren. Als u de SSH-parameters niet configureert, worden de standaardwaarden gebruikt.
ip ssh {[timeout seconds] | [authentication-retries integer]}
carter(config)# ip ssh
Revisie | Publicatiedatum | Opmerkingen |
---|---|---|
4.0 |
06-Dec-2024 |
Bijgewerkte branding vereisten en opmaak. |
3.0 |
09-Aug-2023 |
Bijgewerkte juridische disclaimer, alternatieve tekst en opmaak. |
1.0 |
10-Sep-2001 |
Eerste vrijgave |