For at få sikker fjernadgang til din Cisco enhed skal du bruge SSH (Secure Shell) i stedet for Telnet. SSH krypterer hele sessionen, så brugernavn, kodeord og alle de kommandoer du skriver, ikke kan læses af nogen der lytter med på netværket. I denne guide har jeg samlet både forklaringen og den komplette standard konfiguration ét sted, så du kan gå fra en “nøgen” router til en sikker SSH-opsætning.

Indholdet matcher CCNA 200-301 v1.1 og også den kommende v2.0, som man kan tage fra den 3. februar 2027. I v2.0 hører SSH, lokale brugere, AAA og SCP/SFTP under emne 4.1 og 4.2 (Network Services and Security).

Hvad skal der til for at aktivere SSH?

Før en Cisco enhed kan køre SSH, skal følgende være på plads:

  • Et hostname, der ikke er standardnavnet (Router/Switch)
  • Et domænenavn (ip domain-name)
  • Et RSA-nøglepar (offentlig og privat nøgle)
  • En lokal bruger med et kodeord
  • VTY-linjer, der kun tillader SSH og logger ind med den lokale bruger
  • En IP-adresse, som du kan nå enheden på (på en switch typisk et SVI, fx interface vlan 1)

Hostname og domænenavn bruges til at navngive RSA-nøglen (fx R1.ccna.dk). Derfor skal de være sat, før du genererer nøglen.

Trin for trin: SSH-konfiguration

1. Hostname og domænenavn

R1> enable
R1# configure terminal
Router(config)# hostname R1
R1(config)# ip domain-name ccna.dk

2. Opret en lokal bruger

Brug altid secret og ikke password. secret gemmer kodeordet som et hash, mens password gemmer det i klartekst (eller kun som svag type 7, hvis du har slået service password-encryption til).

R1(config)# username admin privilege 15 secret MitStaerkeKodeord!

På nyere IOS/IOS XE kan du vælge en stærkere hash-algoritme:

R1(config)# username admin privilege 15 algorithm-type scrypt secret MitStaerkeKodeord!

3. Generer RSA-nøglen (mindst 2048 bit)

I den gamle version af denne artikel brugte vi modulus 1024. Det er ikke længere godt nok. Brug 2048 bit eller mere:

R1(config)# crypto key generate rsa general-keys modulus 2048
The name for the keys will be: R1.ccna.dk
% The key modulus size is 2048 bits
% Generating 2048 bit RSA keys, keys will be non-exportable...[OK]
*Mar 1 00:01:14.491: %SSH-5-ENABLED: SSH 1.99 has been enabled

Bemærk meldingen “SSH 1.99”. Det betyder at enheden accepterer både SSH version 1 og 2. Version 1 er usikker, så den slår vi fra i næste trin.

4. Tving SSH version 2 og stram op

R1(config)# ip ssh version 2
R1(config)# ip ssh time-out 60
R1(config)# ip ssh authentication-retries 3

ip ssh time-out er hvor mange sekunder brugeren har til at logge ind, og authentication-retries er hvor mange forsøg der er tilladt, før forbindelsen lukkes.

5. Konfigurer VTY-linjerne

R1(config)# line vty 0 4
R1(config-line)# login local
R1(config-line)# transport input ssh
R1(config-line)# exec-timeout 10 0
R1(config-line)# exit
  • login local betyder at brugeren skal logge ind med en lokal bruger (fra username-kommandoen).
  • transport input ssh tillader kun SSH. Så snart du skriver den, er Telnet-adgangen lukket.
  • exec-timeout 10 0 logger en inaktiv session ud efter 10 minutter og 0 sekunder. Brug aldrig exec-timeout 0 0 i produktion.

Mange switche og routere har 16 VTY-linjer (0–15). Husk så også at sikre line vty 5 15 på samme måde, eller brug line vty 0 15.

6. Gem konfigurationen

R1(config)# end
R1# copy running-config startup-config

Den komplette standard konfiguration

Her er hele opsætningen samlet, så du kan kopiere den ind i Packet Tracer eller på dit eget lab-udstyr:

hostname R1
ip domain-name ccna.dk
username admin privilege 15 secret MitStaerkeKodeord!
crypto key generate rsa general-keys modulus 2048
ip ssh version 2
ip ssh time-out 60
ip ssh authentication-retries 3
!
line vty 0 15
 login local
 transport input ssh
 exec-timeout 10 0
!
interface GigabitEthernet0/0
 ip address 192.168.1.1 255.255.255.0
 no shutdown

Verificering: virker SSH?

Med show ip ssh kan du se om SSH er aktiveret og hvilken version der kører:

R1# show ip ssh
SSH Enabled - version 2.0
Authentication methods:publickey,keyboard-interactive,password
Authentication timeout: 60 secs; Authentication retries: 3
Minimum expected Diffie Hellman key size : 2048 bits

Med show ssh ser du de aktive SSH-sessioner:

R1# show ssh
Connection Version Mode Encryption  Hmac        State          Username
0          2.0     IN   aes256-ctr  hmac-sha2-256 Session started admin
0          2.0     OUT  aes256-ctr  hmac-sha2-256 Session started admin

Fra en PC tester du forbindelsen sådan:

C:\> ssh -l admin 192.168.1.1

eller fra en anden Cisco enhed:

R2# ssh -l admin 192.168.1.1

Andre gode kommandoer til fejlsøgning er show crypto key mypubkey rsa (findes nøglen, og hvor stor er den?), show users og show running-config | section line vty.

AAA kort fortalt

I større netværk opretter man ikke brugere lokalt på hver enhed. I stedet bruger man AAA (Authentication, Authorization, Accounting) med en central server via TACACS+ eller RADIUS. Den lokale bruger bliver så en nødadgang (fallback), hvis serveren ikke kan nås:

R1(config)# aaa new-model
R1(config)# aaa authentication login default group tacacs+ local

Bemærk: Når du skriver aaa new-model, overtager AAA login-metoden på linjerne. Sørg derfor for, at den lokale bruger findes, før du aktiverer det, ellers kan du låse dig selv ude. TACACS+ og RADIUS gennemgår jeg i en separat artikel.

Sikker filoverførsel med SCP

SSH bruges også til at flytte filer sikkert. Med SCP (Secure Copy) kan du tage backup af konfigurationen eller lægge et nyt IOS-image på enheden uden at bruge TFTP, som er ukrypteret. SCP-serveren slås til sådan (kræver AAA-autorisation):

R1(config)# aaa new-model
R1(config)# aaa authentication login default local
R1(config)# aaa authorization exec default local
R1(config)# ip scp server enable

Fra din PC kan du så hente konfigurationen:

scp admin@192.168.1.1:running-config r1-backup.txt

SFTP er et alternativ, der også kører over SSH. Begge dele er en del af emne 4.2 i CCNA v2.0.

Opsummering

  • Brug SSH, ikke Telnet, til al fjernadgang.
  • Sæt hostname og ip domain-name, før du genererer nøglen.
  • Generer RSA-nøglen med crypto key generate rsa modulus 2048 (eller større).
  • Brug ip ssh version 2, username … secret … og login local.
  • Lås VTY-linjerne med transport input ssh og sæt exec-timeout.
  • Verificer med show ip ssh og show ssh.
  • Kend AAA (TACACS+/RADIUS) og SCP på et overordnet niveau.

Typiske eksamensspørgsmål

1. Hvilke to ting skal være konfigureret, før du kan generere en RSA-nøgle til SSH?
Svar: Et hostname (ikke standardnavnet) og et domænenavn med ip domain-name.

2. En administrator ser “SSH 1.99” i show ip ssh. Hvad betyder det, og hvordan retter man det?
Svar: Enheden accepterer både SSHv1 og SSHv2. Med ip ssh version 2 tillades kun version 2.

3. Hvilken kommando under line vty 0 4 sørger for, at Telnet ikke kan bruges?
Svar: transport input ssh.

4. Hvad gør login local på VTY-linjerne?
Svar: Den kræver, at brugeren logger ind med et brugernavn og kodeord fra enhedens lokale database (oprettet med username … secret …), i stedet for et fælles linje-kodeord.