operativsystemer og programvare

Windows 10 har fått SSH-støtte, men den er godt gjemt

Les hvordan du aktiverer både klient og server.

Den nye SSH-støtten er basert på velkjente OpenSSH.
Den nye SSH-støtten er basert på velkjente OpenSSH.

Selv om det er to måneder siden Microsoft kom med høstoppdateringen til Windows 10, inneholdt oppdateringen nyheter som i liten eller ingen grad har blitt omtalt – kanskje rett og slett fordi Microsoft ikke har fortalt om den. En slik nyhet er SSH-støtte (Secure Shell).

SSH er, dersom det konfigureres riktig, en temmelig sikker og ofte foretrukket løsning for fjernaksess til Unix-lignende systemer som Linux. Fram til nå har Windows-brukere måttet bruke tredjepartsklienter som PuTTY for å kommunisere via SSH. Det finnes også flere tredjeparts SSH-servere til Windows.

Men nå har Microsoft begynt å tilby den ofte Linux-relaterte teknologien.

Les også: Historien om hvordan SSH fikk port 22

Ikke forhåndsinstallert

Det at Windows 10 skulle få støtte for SSH, kunngjorde Microsoft allerede sommeren 2015. Så det har tatt sin tid. Men du skal fortsatt lete en stund i Windows 10 for å finne spor av teknologien.

Saken er nemlig den at SSH-klienten og -serveren fortsatt er på betastadiet, og disse er ikke installert som standard. For å installere det disse programmene, må man gjennom noen trinn.

Det første man må gjøre, er i installere funksjonene. Det gjør man i den delen av Windows 10-innstillingene som heter «Behandle valgfrie funksjoner». Dit kommer man enklest ved å klikke på startmenyen og skrive «valgfrie». Klikk så på treffet som dukker opp.

I vinduet som da åpnes, klikker du på valget «Legge til en funksjon». Da får man opp en liste som stort sett inneholder ulike skrifttyper, men et stykke nede i listen finner man «OpenSSH Client (Beta)» og «OpenSSH Server (Beta)». Velg den eller de som er aktuelle og klikk på «Installer»-knappen.

OpenSSH-klienten og -serveren kan legges til som valgfri funksjoner i Windows 10. Skjermbilde: digi.no
OpenSSH-klienten og -serveren kan legges til som valgfri funksjoner i Windows 10. Skjermbilde: digi.no

Etter noen sekunder er de lagt til. Da er det nødvendig med en omstart av Windows.

Bakgrunn: Slik blir Microsofts SSH-støtte for Windows

Klienten

Etter omstarten er SSH-klienten klar til bruk. Dette er en tekstkommando som kan brukes i både ledetekstvinduet (cmd.exe) og i Windows PowerShell. Siden den er basert på velkjente OpenSSH, er det ikke noe spesielt nytt å si om denne. Den bare fungerer.

Inkludert er også kommandoene sftp (SSH File Transfer Protocol) og scp (Secure Copy).

Serveren

Serveren er en helt annen historie, og i denne gjennomgangen forutsetter vi at leseren er kjent med enklere administrasjon av Windows-tjenester og filtillatelser. Uansett er den nok mest for brukere med litt spesielle behov.

SSH-serveren er på ingen måte klar til bruk, selv når den er installert. Under installasjonen legges det bare til to nye Windows-tjenester, sshd og sshd-agent. Filene, både for klienten, serveren og konfigurasjonen, er lagret i samme mappe, C:\Windows\System32\OpenSSH. Men det er ikke akkurat «nøkkelferdig».

Mens sshd-agent-tjenesten starter, skjer ikke de samme med sshd-tjenesten. Og forsøker man å starte den, får man en feilmelding. Den er kryptisk nok til at mange nok vil gi opp allerede her, men heldigvis er det relativt overkommelig å komme seg videre.

Tjenesten sshd vil ikke starte opp rett etter installasjonen. For at det skal skje, må en del gjøres. Skjermbilde: digi.no
Tjenesten sshd vil ikke starte opp rett etter installasjonen. For at det skal skje, må en del gjøres. Skjermbilde: digi.no

Det handler om å legge til det privilegiet som tjenesten ber om. Bleeping Computer har beskrevet dette på denne siden.

Policyer

I norskspråklig Windows gjør man det nok enklest ved åpne startmenyen og skrive «Lokal sikkerhetspolicy». I vinduet som da åpnes, velger vi på venstre side «Lokale policyer» og deretter «Tilordning av brukerrettigheter». Til høyre ser vi da en lang rekke med policyer.

Den vi må endre på, er «Erstatte prosessnivåtoken». Dobbeltklikk på denne og klikk på «Legg til bruker eller gruppe…».

Sørg for at navnet på den lokale maskinen er valgt i feltet «Fra denne plasseringen» og skriv «NT Service\sshd» inn feltet under. Klikk på «OK». Se bildet under:

SSH-serveren må gis visse tillatelser før den kan kjøres. Skjermbilde: digi.no
SSH-serveren må gis visse tillatelser før den kan kjøres. Skjermbilde: digi.no

Dersom du nå forsøker å starte sshd-tjenesten, er den tidligere feilmeldingen borte. I stedet vises en ny, hvor det står: «Kan ikke starte tjenesten sshd på Lokal datamaskin. Feil 1067: Prosessen ble uventet avsluttet.»

Krypteringsnøkkel

Ifølge Bleeping Computer skyldes dette at vi ennå ikke har generert noe krypteringsnøkkel for verten. Dette kan man også se i loggfilen til sshd, som også finnes i mappen C:\Windows\System32\OpenSSH.

Åpne et ledetekstvindu som administrator, gå til mappen C:\Windows\System32\OpenSSH og skriv inn kommandoen: ssh-keygen.exe -A

Da opprettes det et nøkkelpar i den nevnte mappen. Den private nøkkelen finnes i filen ssh_host_ed25519_key. Men fortsatt vil ikke sshd-tjenesten starte.

Årsaken er at sshd-tjenesten ikke har tilgang til filen. Dette ordnes ved å sette «NT Service\sshd» som eier av filen. Tjenesten skal likevel bare ha lesetilgang til den, så fjern alle andre tillatelser, også for brukeren du er innlogget som. Dette er den hemmelige nøkkelen, så den må beskyttes så godt det lar seg gjøre.

Slik skal tillatelsene til filen med privatnøkkelen se ut. Ingen uvedkommende må få tilgang til denne nøkkelen. Skjermbilde: digi.no
Slik skal tillatelsene til filen med privatnøkkelen se ut. Ingen uvedkommende må få tilgang til denne nøkkelen. Skjermbilde: digi.no

SSH-serveren vil ikke starte dersom ikke filen med privatnøkkelen er beskyttet.

Når vi nå forsøker å starte opp sshd-tjenesten på nytt, starter den omsider.

Nok en feilmelding

Når vi nå forsøker å logge oss inn lokal på pc-en ved hjelp av ssh-kommandoen, fungerer ikke dette. I feilmeldingen opplyses det at klient og server ikke har funnet noen felles metode for nøkkelutveksling. Vi har forsøkt å bruke ssh-kommandoen mot eksterne SSH-servere, og det har gått helt fint.

Lokal SSH-innlogging med den nye ssh-kommandoen fungerer ikke så godt, i alle fall på pc-ene digi.no har forsøkt dette på. Trolig kan dette løses ved hjelp av innstillinger i konfigurasjonsfilen til sshd-tjenesten. Men det har vi så langt ikke forsøkt oss på. Skjermbilde: digi.no
Lokal SSH-innlogging med den nye ssh-kommandoen fungerer ikke så godt, i alle fall på pc-ene digi.no har forsøkt dette på. Trolig kan dette løses ved hjelp av innstillinger i konfigurasjonsfilen til sshd-tjenesten. Men det har vi så langt ikke forsøkt oss på. Skjermbilde: digi.no

Derimot går det fint å bruke PuTTY til dette.

Med PuTTY gikk lokal tilkobling med SSH helt smertefritt. Skjermbilde: digi.no
Med PuTTY gikk lokal tilkobling med SSH helt smertefritt. Skjermbilde: digi.no

For å få tilgang SSH-tilgang til pc-en via et nettverk, kreves i alle fall et brannmuren til pc-en tillater innkommende forbindelser til SSH-serveren, noe som vanligvis skjer via nettverksport 22. I Windows Defender-brannmuren blir slik tilgang automatisk i profilene Privat og Domene når SSH-serveren aktiveres, men ikke over offentlige nettverkstilkoblinger.

En annen mulighet

Nå er det en sannhet med modifikasjoner at det er først nå at Windows 10 har fått SSH-støtte. Faktisk har den også en annen SSH-server enn den OpenSSH-serveren som nå er tilgjengelig i en betaversjon. Den andre heter Microsoft SSH Server for Windows og er installert som standard. Den har samtidig langt mindre funksjonalitet enn OpenSSH-serveren.

For å aktivere Microsofts egen SSH-server må du sette Windows 10 i utviklermodus, aktivere enhetssøk og deretter deaktivere enhetssøk igjen. Dette gjør at SSH-serveren starter.

Hvordan dette gjøres i praksis, er beskrevet på denne siden.

Leste du denne? Millioner av datamaskiner eksponerer usikre telnet mot internett

Powered by Labrador CMS