SSH tilkobling til Cisco utstyr

Bilde av Michal Jarmoluk fra Pixabay

Bilde av Michal Jarmoluk fra Pixabay

Når man har jobbet litt med Cisco utstyr ved hjelp av console tilkobling innser man raskt at den lave 9600 baud hastigheten er slitsomt tregt, spesielt når man skal se lister med innhold, som for eksempel ved å se hvilke kabler som er koblet til, eller hvilke innstillinger som er gjeldende.

Heldigvis har det meste av Cisco utstyr muligheten for SSH tilkobling. Har man ikke den samme hastighetsbegrensingen som det er via console tilkoblingen og vet vil derfor blir det som å jobbe i en hvilken som helst annen SSH tilkobling til for eksempel Linux servere.

For å kunne aktivere SSH tilkobling er du nødt til å være tilkoblet utstyret med en console kabel. Les denne artikkelen for å lære hvordan du gjør det fra en Linux maskin.

Denne guiden tar utgangspunkt i en Cisco Catalyst 2960, men den samme arbeidsflyten skal fungere på de meste av Cisco utstyr med Cisco IOS.

Lokal bruker

For å kunne logge på med SSH er det noen grunnleggende ting som må på plass. Først så må det settes passord for "enable mode". Til det bruker vi subkommandoen secret som lagrer passordet i hashet format.

configure teriminal
enable secret passord-for-enable-mode

Når vi har satt ett hashet passord for "enable mode". Kan vi gå videre for å opprette en lokal bruker på switchen, og fjerne eventuelt andre ukrypterte passord.

På lik linje med Linux og Windows kan du i Cisco IOS ha en server som tar seg av autentisering og autorisering. På grunn av denne fleksibiliteten må vi definere at det er lokale brukere som skal brukes for å logge inn på switchen.

Hvis du ikke gjør dette kan du logge deg på switchen uten å måtte autensieres som en bruker, noe vi ikke vil at skal være mulig når det er nettverks tilgang på switchens operativsystem.

Slik lager du en bruker og krever at det kun er brukere som kan logge seg på switchen:

configure terminal
username stanley secret passord-til-bruker
line vty 0 15 !<--- "configure all the 16 vty connections"
login local !<--- "set login to use local credentials"
no password !<--- "disable all unencrypted passwords"

Nå har vi laget en bruker med hashet passord, og på alle 16 VTY linjene har vi satt at det må autentiseres med lokale brukere, og vi har fjernet alle ukrypterte passord. Da er vi ferdig med første steg.

VTY er en forkortelse for Vitual Teletype. Dette er de virtuelle interfacene man bruker for å koble til med telnet eller SSH på Cisco utstyr. Det er ofte 16 VTY interfaces på Cisco utstyr, noe som betyr at det kan være opptil 16 eksterne tilkoblinger samtidig.

SSH oppsett

For å kunne koble til med SSH, må switchen ha ett RSA nøkkelpar. For at dette skal kunne genereres må switchen ha ett "Fully Qualified Domain Name". Det gjøres på denne måten:

configure terminal
hostname switch1 !<---"set host name"
ip domain-name skarshaugs.local !<---"set domain name"
crypto key generate rsa !<---"create rsa key pair"

Nå som du har laget ett RSA nøkkelpar kan du definere hvilken SSH versjon som skal brukes, og krevet at det kun kan kobles til VTY terminalene via SSH. På den måten forhindrer vi at noen kan kobles til via telnet som potensielt kan sniffes for brukernavn og passord.

configure terminal
ip ssh version 2
line vty 0 15 !<--- "configure all the 16 vty connections"
transport input ssh !<---"only allow SSH login on VTY lines"

Koble til VLAN

Nå som en bruker er opprettet, og switchen er gjort klar for SSH tilkobling gjenstår det bare å koble switchen til ett VLAN.

Cisco switcher har fra fabrikken kun ett VLAN aktivert, og det er VLAN 1. Det vil si at alle porter er knyttet til VLAN 1, med mindre man endrer på det. For at vi skal kunne koble oss til med SSH, må derfor switchen interface mot VLAN 1 aktiveres, og bli gitt en IP adresse:

configure terminal
interface vlan 1 !<---"configure the interface for vlan1"
ip address 10.22.22.81 255.255.255.0 !<---" set IP and subnet mask"
no shutdown !<---"Activate the interface"

Lagre endringene

Nå som vi er ferdig med å sette opp switchen for tilkobling via SSH, må vi lagre endringene. I Cisco IOS gjøre det med å kopiere den gjeldene konfigurasjonen inn i startup konfigurasjonen som ligger lagret på en et flash minne av en eller annen type.

copy running-config startup-config !<---"Save changes"

Gratulerer, da er switchen ferdig configurert og klar for tilkobling!

SSH tilkobling

Fra en Linux maskin kan du nå koble til som om det var en hvilken som helst annen datamaskin. Du må bare passe på å bruke riktig RSA nøkkel utvekslings metode.

På lab switchen min, som er av en eldre årgang måtte jeg bruke "diffie-hellman-group1-sha1".

Feilmeldingen jeg fikk når jeg forsøkte å koble til var denne:

ssh stanley@10.22.22.81
Unable to negotiate with 10.22.22.81 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1

Løsningen var å koble til med den nøkkel utvekslings metoden som switchen foreslo å bruke. Det kan gjøres slik som en option til SSH tilkoblingen:

ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 stanley@10.22.22.81
(stanley@10.22.22.81) Password:

switch1>enable
Password:
switch1#

Som du kan se utifra terminal dumpen over fikk jeg koblet meg til switchen og aktivert enable mode via SSH.

Siden det kan være litt slitsomt å huske på å skrive inn optionen for nøkkutvekslings metode hver gang man skal koble til, kan det være praktisk å legge det til i SSH config filen din.

vim ~/.ssh/config
~/.ssh/config
host 10.22.22.81
        KexAlgorithms +diffie-hellman-group1-sha1

Nå den key kan jeg koble til som ved en vanlig SSH økt.

ssh stanley@10.22.22.81
(stanley@10.22.22.81) Password:

switch1>en
Password:
switch1#

Gratulerer! Nå har du klart å frigjøre deg fra den trege console kablen, og kan konfigurere switchen din fra hvor som helst på nettverket ditt!