Sådan installeres den indbyggede Windows 10 OpenSSH-server

Listen over valgfrie funktioner, der kan installeres i Windows 10, indeholder betaversionerne af en OpenSSH-klient og en OpenSSH-server. Klienten giver dig mulighed for at oprette forbindelse til eksterne SSH-servere direkte fra Windows-kommandolinjen, og serveren giver fjernbrugere mulighed for at oprette fjernforbindelse til Windows 10 og modtage en kommandoprompt via SSH.

For dem, der gerne vil have fjernkonsoladgang til deres Windows 10-computere, er den indbyggede Windows 10 OpenSSH Server måske det, du leder efter. Endnu bedre, for dem, der er bekendt med OpenSSH fra brug af det i Linux, fungerer Windows 10-versionen stort set på samme måde.

Mens Windows 10 OpenSSH-klienten er virkelig nem at installere og bruge. at finde ud af, hvordan man får OpenSSH Server op og køre var en rigtig smerte, da du skal foretage en masse udokumenterede ændringer til tilladelser & privilegier, og nøglegenerationen fungerer ikke som forventet. Nu hvor jeg har fundet ud af det hele, burde det dog ikke tage dig mere end 10 minutter at følge disse instruktioner og installere en fungerende OpenSSH Server-implementering i Windows 10.

Installation af Windows 10 OpenSSH Server

Det første skridt er at klikke på Windows Start Menu () og derefter i søgefeltet skrive valgmulighed. Der vises et søgeresultat med betegnelsen Administrer valgfrie funktioner, som du skal klikke på. Dette åbner skærmbilledet Administrer valgfrie funktioner som vist nedenfor.

Skærmbilledet Administrer valgfrie funktioner

Dette skærmbillede viser alle de aktuelt installerede valgfrie Windows-funktioner. Klik nu på knappen Tilføj en funktion som angivet med den røde pil ovenfor. Dette vil åbne en liste over valgfrie funktioner, der kan installeres. De fleste af dem er skrifttypepakker, men hvis du ruller nedad, vil du se en funktion kaldet OpenSSH Server (Beta).

Installer OpenSSH Server-funktionen

For at installere OpenSSH Server (Beta) skal du blot vælge den og klikke på knappen Installér. Når du klikker på knappen Installér, vil du se funktionen forsvinde fra listen. Dette er normalt og intet at være bekymret over. Du skal blot klikke på pilen tilbage øverst til venstre i vinduet, og du vil komme tilbage til listen over installerede funktioner, men nu med OpenSSH Server (Beta) installeret.

Windows 10 OpenSSH Server installeret

Du kan nu lukke dette vindue.

Efter installationen vil to nye Windows-tjenester kaldet sshd og sshd-agent være blevet oprettet, og de tilhørende filer vil blive gemt i mappen C:\Windows\System32\OpenSSH. Listen over installerede filer er:

For at afslutte installationen skal du nu genstarte din computer.

Når du logger ind igen, vil sshd-tjenesten ikke være startet, og hvis du forsøger at starte den, vil Windows rapportere, at den ikke har de nødvendige rettigheder til at starte tjenesten.

OpenSSH-tjenesten mangler et privilegium

Det manglende privilegium, som tjenesten har brug for, hedder Replace a Process Level Token, og vi er nødt til at tilføje det til NT Service\sshd-kontoen. For at gøre det skal du åbne editoren for lokale sikkerhedspolitikker ved at søge efter secpol i startmenuen og vælge det resultat for lokale sikkerhedspolitikker, der vises.

Når editoren for lokale sikkerhedspolitikker åbnes, skal du udvide Lokale politikker og venstreklikke på Tildeling af brugerrettigheder. Når du har valgt Brugerrettighedstildeling, vil du se forskellige rettigheder i højre rude. Rul ned, indtil du ser privilegiet Replace a process level token (Udskift et token på procesniveau), og dobbeltklik på det. Dette vil åbne egenskaberne for det pågældende privilegium og vise de konti eller grupper, som det i øjeblikket er tildelt.

Replace a process level token Permission Properties

Klik nu på knappen Tilføj bruger eller gruppe, og indtast NT Service\sshd i feltet Indtast de objektnavne, der skal vælges, som vist nedenfor.

Føj konto til privilegium

Når du er færdig, skal du klikke på ok på knappen OK for at give dette privilegium til sshd. Du kan derefter trykke på OK-knappen for at lukke egenskaberne og derefter lukke editoren Lokal sikkerhedspolitik.

Selv med privilegiet aktiveret vil Windows, når du forsøger at starte sshd-tjenesten, vise fejlen “Windows kunne ikke starte sshd-tjenesten på den lokale computer. Fejl 1067: Processen blev afsluttet uventet.”

Fejl 1067, når du forsøger at starte SSHD-tjenesten

Hvis du kigger i C:\Windows\System32\OpenSSH\Logs\sshd.logfilen vil den vise fejl som følgende.

SSHD viser disse fejl, fordi du ikke har genereret de værtsnøgler, der skal bruges til at kryptere trafikken mellem serveren og klienten. For at oprette disse nøgler skal vi udføre kommandoen C:\Windows\System32\OpenSSH\ssh-keygen.exe -A fra en forhøjet kommandoprompt, så nøglerne oprettes i mappen C:\Windows\System32\OpenSSH.

Ved brug af kommandoen “ssh-keygen -A” oprettes en nøgle ved hjælp af standardnøglefilens sti, en tom adgangsformulering, standardbits til nøgletypen og standardkommentar. Normalt ville jeg tilføje en passphrase til nøglen, men i den nuværende medfølgende Windows 10-version af OpenSSH , vil ssh-keygen svare med en “failed: invalid argument”-fejl, når du forsøger at tilføje en passphrase.

Kørsel af ssh-keygen.exe

Når ssh-keygen er færdig med at oprette og gemme din nøgle, vil den bringe dig tilbage til kommandoprompten som vist ovenfor. Du kan skrive exit og trykke enter for at forlade den forhøjede kommandoprompt.

Der er vi desværre ikke færdige endnu, og hvis du forsøger at starte sshd-tjenesten, vil Windows igen svare med en “Error 1067”. Dette skyldes, at NT Service\sshd-kontoen ikke har adgang til filen C:\Windows\system32\OpenSSH\ssh\ssh_host_ed25519_key. Du kan løse dette ved at gå ind i egenskaberne for filen ssh_host_ed25519_key og foretage følgende ændringer:

  • Ændre ejeren af filen til NT Service\sshd.
  • Giv NT Service\sshd kun læsetilladelsen til denne fil.
  • Fjern tilladelser for alle brugere til denne fil. F.eks. vil din loggede konto have tilladelser, som skal fjernes.

Når du er færdig, skal dine tilladelser til filen ssh_host_ed25519_key se således ud:

Gode tilladelser

Hvis du ikke indstiller tilladelserne korrekt, vil du ikke kunne starte sshd-tjenesten, og logfilen vil vise følgende fejl:

Når du har indstillet de korrekte tilladelser på den private nøglefil, kan du starte sshd-tjenesten igen. Denne gang vil sshd-tjenesten dog starte og være tilgængelig for computere, der kan oprette forbindelse.

SSHD-tjenesten er startet

Nu, hvor tjenesten kører, kan du oprette fjernforbindelse til din Windows 10-boks via SSH. Nedenfor er et eksempel på, hvordan det ser ud, når du SSH’er ind på en Windows 10-computer. Bemærk, at du får en fuld kommandoprompt, hvor du kan køre alle kommandolinjeværktøjer, herunder PowerShell.

Windows 10 Command Prompt over SSH

Den sshd-tjeneste er til Automatisk (forsinket start), hvilket betyder, at Windows starter denne tjeneste, efter at alle andre tjenester, der er indstillet til Automatisk, er færdige med at starte. Når du genstarter en computer, kan det derfor tage nogle få minutter, før OpenSSH-serveren er oppe og køre, og der kan oprettes forbindelse til den.

Med en OpenSSH-server, der kører på Windows 10, har du tilføjet et ekstra lag fleksibilitet med hensyn til, hvordan du kan administrere en computer. Hvis du beslutter dig for at aktivere OpenSSH Server, skal du sørge for, at port 22, som sshd lytter på, kun er tilgængelig for betroede IP-adresser.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.