Windows 10 har fået SSH-understøttelse, men den er godt gemt

Læs her, hvordan du aktiverer både klient og server.

Selv om det er to måneder siden, Microsoft kom med efterårsopdateringen til Windows 10, indeholdt opdateringen nyheder, som i lille eller ingen grad er blevet omtalt – måske ganske enkelt fordi Microsoft ikke har fortalt om dem. En sådan nyhed er SSH-understøttelse (Secure Shell).

SSH er, hvis den konfigureres rigtigt, en temmelig sikker og ofte foretrukket løsning for fjern-access til Unix-lignende systemer som Linux. Indtil nu har Windows-brugere måttet bruge tredjepartsklienter som PuTTY for at kommunikere via SSH. Der findes også flere tredjeparts-SSH-servere til Windows.

Men nu er Microsoft begyndt at tilbyde den ofte Linux-relaterede teknologi.

Ikke installeret på forhånd

Det at Windows 10 skulle få understøttelse af SSH, fortalte Microsoft allerede om i sommeren 2015. Så det har taget sin tid. Men du skal stadig lede et stykke tid i Windows 10 for at finde spor af teknologien.

Sagen er nemlig den, at SSH-klienten og -serveren fortsat er på betastadiet, og disse er ikke installeret som standard. For at installere programmerne, skal man igennem nogle trin.

Det første, man skal gøre, er at installere funktionerne. Det gør man i den del af Windows 10-indstillingerne, som hedder ‘Administrer valgfrie funktioner’. Det finder man lettest ved at klikke på startmenuen og skrive ’valgfrie’. Klik så på feltet, som dukker op.

I vinduet som så åbnes, klikker du på valget ‘Tilføj en funktion’. Så kommer der en liste, som mest indeholder forskellige skrifttyper, men et stykke nede i listen finder der ‘OpenSSH Client (Beta)’ og ‘OpenSSH Server (Beta)’. Vælg den eller dem, som er aktuelle, og klik på ‘Installer’-knappen.

Efter nogle sekunder er de tilføjet. Så skal Windows genstartes.

Klienten

Efter genstarten er SSH-klienten klar til brug. Dette er en tekstkommando, som kan bruges i både prompt-vinduet (cmd.exe) og i Windows PowerShell. Siden den er baseret på OpenSSH, som er velkendt, er der ikke noget specielt nyt at sige om denne. Den fungerer bare.

Kommandoene sftp (SSH File Transfer Protocol) og scp (Secure Copy) er også inkluderet.

Serveren

Serveren er en helt anden historie, og i denne gennemgang forudsætter vi, at læseren er bekendt med enklere administration af Windows-tjenester og filtilladelser. Uanset hvad er gennemgangen nok mest for brugere med lidt specielle behov.

SSH-serveren er på ingen måde klar til bruk, selv når den er installeret. Under installationen tilføjes der kun to nye Windows-tjenester, sshd og sshd-agent. Filerne, både for klienten, serveren og konfigurationen, er lagret i samme mappe, C:\Windows\System32\OpenSSH. Men de er ikke ligefrem ‘nøgleklar’.

Mens sshd-agent-tjenesten starter, sker der ikke det samme med sshd-tjenesten. Og forsøger man at starte den, får man en fejlmelding. Den er kryptisk nok til, at mange nok vil give op allerede her, men heldigvis er det relativt overkommeligt at komme videre.

Det handler om tilføje det privilegium, som tjenesten beder om. Bleeping Computer har beskrevet dette på denne side.

Policyer

I et dansksproget Windows gør man det nok enklest ved åbne startmenuen og skrive ‘Lokal sikkerhedspolitik’. I vinduet, som så åbnes, vælger vi på venstre side ‘Lokale politikker’ og derefter 'Tildeling af brugerrettigheder'. Til højre ser vi så en lang række med politikker.

Den, vi skal ændre, er 'Erstat en token på procesniveau’. Dobbeltklik på den, og klik på ‘Tilføj bruger eller gruppe …’.

Sørg for, at navnet på den lokale maskine er valgt i feltet ‘Fra denne placering’, og skriv ‘NT Service\sshd’ i feltet nedenunder. Klik på ‘OK’.

Hvis du nu forsøger at starte sshd-tjenesten, er den tidligere fejlmelding borte. I stedet vises en ny, hvor der står: 'Kan ikke starte tjenesten sshd på lokal-pc'en. Fejl 1067: Processen blev uventet afsluttet'.

Krypteringsnøgle

Ifølge Bleeping Computer skyldes dette at vi endnu ikke har genereret nogen krypteringsnøgle for værten. Dette kan man også se i logfilen til sshd, som også findes i mappen C:\Windows\System32\OpenSSH.

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

Så oprettes der et nøglepar i den nævnte mappen. Den private nøgle findes i filen ssh_host_ed25519_key. Men sshd-tjenesten vil stadig ikke starte.

Årsagen er, at sshd-tjenesten ikke har adgang til filen. Dette ordnes ved at sætte ‘NT Service\sshd’ som ejer af filen. Tjenesten skal alligevel bare have læseadgang til den, så fjern alle andre tilladelser, også for brugeren, du er logget ind som. Dette er den hemmelige nøgle, så den må beskyttes så godt, det lader sig gøre.

SSH-serveren vil ikke starte, hvis ikke filen med privatnøglen er beskyttet.

Når man nu forsøger at starte sshd-tjenesten igen, starter den omsider.

Nok en fejlmelding

Når vi nu forsøger at logge oss ind lokalt på pc’en ved hjælp af ssh-kommandoen, fungerer det ikke. I fejlmeldingen oplyses det, at klient og server ikke har fundet nogen fælles metode for nøgleudveksling. Vi har forsøgt at bruge ssh-kommandoen mod eksterne SSH-servere, og det har gået helt fint.

For at få SSH-adgang til pc’en via et netværk kræver det i hvert fald, at pc’ens firewall tillader indkommende forbindelser til SSH-serveren, noget, som sædvanligvis sker via netværksport 22.

I Windows Defender-firewallen bliver der automatisk en sådan adgang i profilerne Privat og Domæne, når SSH-serveren aktiveres, men ikke over offentlige netværkstilkoblinger.

En anden mulighed

Nu er det en sandhed med modifikationer, at det først er nu, Windows 10 har fået SSH-understøttelse. Faktisk har den også en anden SSH-server end den OpenSSH-server, som nu er tilgængelig i en betaversion.

Den anden hedder Microsoft SSH Server for Windows og er installeret som standard. Den har samtidig langt mindre funktionalitet end OpenSSH-serveren.

For at aktivere Microsofts egen SSH-server skal du sætte Windows 10 i udvikler-mode, aktivere Device Discovery og derefter deaktivere Device Discovery igen. Dette gør, at SSH-serveren starter.

Hvordan dette gøres i praksis, er beskrevet på denne side.

Den oprindelige artikel på digi.no indeholder en række screeendumps, som understøtter den tekstlige gennemgang.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (8)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
#3 Baldur Norddahl

Efter nogle sekunder er de tilføjet. Så skal Windows genstartes.

Klart. Hvorfor skal der genstartes efter installering af et kommandolinje værktøj og en daemon (som tilmed ikke starter)?

  • 0
  • 0
#5 Martin Sørensen

Findes der ikke allerede noget tilsvarende i Ubuntu on Windows? SSH klienten virker ihvertfald fint og det ser også ud til at der er en sshd. Det er måske bare den samme som de nu har lagt ud som selvstændigt program?

  • 0
  • 0
#6 Kasper Hansen

Jo der er allerede en SSH klient i Linux Subsystem, men det her er en SSH klient der er fuldt integreret (når den er færdig) i Windows så folk ikke behøver installere Linux Subsystem. Ligeledes er det også en SSH server i selve Windows.

  • 0
  • 0
Log ind eller Opret konto for at kommentere