nettverk og infrastruktur
Fjernstyr den «utilgjengelige» PC-en med reversert SSH
Kan omgå både brannmurer og mangelen på fast IP-adresse.
De fleste PC-er er koblet til nettet på en slik måte at de ikke har en IP-adresse som er direkte adresserbar over internett. Dessuten befinner de seg gjerne bak brannmurer og andre sikkerhetsløsninger som hindrer forespørsler som kommer fra utsiden av lokalnettet i å nå fram til enhetene på innsiden.
I utgangspunktet er dette en god ting.
Men noen ganger kan man ha behov for å få ekstern tilgang til for eksempel en PC som ikke er direkte koblet til internett. Det kan være PC-en på hytta, på kontoret eller den som er koblet til wifi-en på hotellrommet.
Dette er ikke mulig helt uten videre, så lenge det ikke finnes noen kjent adresse å kontakte.
Utnytt en etablert forbindelse
Samtidig er det slik at de fleste tilfeller får PC-ene på innsiden av slike nettverk selv lov å opprette forbindelser til datamaskiner på utsiden av lokalnettet.
Når en slik forbindelse først er åpnet, kan datamaskinen på den andre siden også sende noe tilbake. Noe annet ville ha vært ganske ubrukelig. Men dette kan også utnyttes til fjernstyring fra en helt annen enhet.
Det finnes mye fjernstyringsprogramvare der ute som benytter slike teknikker, men da er man ofte prisgitt en tjeneste som noen andre kontrollerer. Et mer selvstendig alternativ, som nå støttes av de fleste vanlige operativsystemer, er å benytte SSH (Secure Shell) også til dette.
Reversert SSH-tunnelering
SSH er tradisjonelt mest brukt til fjernstyring av Linux- og Unix-servere via internett. Men teknologien har en innebygget funksjonalitet som også gjør det mulig å logge seg inn på datamaskiner som ikke er direkte eksponert på internett. Dette kalles for reversert SSH-tunnelering.
Dette er i seg selv svært enkelt å få til, men det krever at man allerede har tilgang til SSH-server som er tilgjengelig over internett. Årsaken er at man uansett må ha noe fast å ta kontakt med, altså en IP-adresse eller et domenenavn.
Skal man være mest mulig uavhengig, kan man sette opp en slik SSH-server hjemme hos en selv ved å bruke for eksempel en gammel PC eller en Raspberry Pi. Ved å bruke dynamisk DNS får man gjerne en temmelig stabil tilgang til denne, selv om man ikke har fast IP-adresse. Se oppskriften her.
Et alternativ kan være å leie tilgang til en server hos et webhotell. Dette trenger ikke koste mer enn noen få tiere i måneden.
SSH-server også på PC-en
I tillegg til en slik SSH-server eksponert på internett, må det kjøre en SSH-server på PC-en man ønsker tilgang til. Programvare for dette er lett tilgjengelig for alle vanlige PC-operativsystemer. I Windows 10 kan en OpenSSH-basert server og klient installeres via verktøyet «Behandle valgfrie funksjoner». I tillegg må SSH-serverprogramvaren startes i verktøyet «Tjenester», dersom den ikke starter av seg selv.
Noe mer konfigurering er ikke nødvendig for å komme i gang, men det kan være lurt å se om det er innstillinger som kan endres for å bedre sikkerheten.
I praksis starter man reversert SSH-tunnelering ved at man fra den «utilgjengelige» PC-en logger seg på den eksterne SSH-serveren med en litt spesielt utformet SSH-kommando. Denne oppretter en «fast» toveis forbindelse mellom de to datamaskinene, en tunnel som også kan brukes til å kommunisere i motsatt retning.
Logger man seg deretter inn på serveren, kan man fra denne logge seg videre inn på PC-en ved hjelp av SSH.
Selve kommandoene
Fra den utilgjengelige PC-en logger man seg inn serveren med en kommando tilsvarende dette:
ssh -fN -R 7000:localhost:22 brukernavn@sshserver.no
Det den gjør, er å åpne en returkanal som på den eksterne SSH-serveren er tilgjengelig via en ny SSH-port, i dette tilfellet port 7000.
En bruker som logger seg inn på den eksterne SSH-serveren – for eksempel via SSH, kan da logge seg inn på den «utilgjengelige» PC-en med denne kommandoen:
ssh brukernavn@localhost -p 7000
Dette forutsetter selvfølgelig at SSH-serverprogramvaren på PC-en faktisk kjører.
Ikke for alle
Rent teknisk er ikke reverserte SSH-tunneler i seg selv er ikke noe mindre sikre enn vanlig SSH-forbindelser, men de utgjør likevel en vei inn til lokalnettet som potensielt kan utnyttes av ondsinnede. Har man som relativt vanlig ansatt behov for fjerntilgang til en PC på arbeidsplassen, bør man overlate det til IT-avdelingen å sette opp en passende løsning.
På privaten ha man mer frihet. For eksempel kan en slik løsning som beskrevet, brukes til fysisk atskilt sikkerhetskopiering, ved at man installerer en enkel PC med stor lagringsplass hjemme hos en bekjent og jevnlig overfører sikkerhetskopier til denne. Alt som kreves er stabil tilgang på strøm og internett.