Hoe de ingebouwde OpenSSH-server van Windows 10 te installeren

In de lijst met optionele functies die in Windows 10 kunnen worden geïnstalleerd, zijn de bètaversies van een OpenSSH-client en een OpenSSH-server opgenomen. Met de client kunt u rechtstreeks vanaf de Windows-opdrachtregel verbinding maken met externe SSH-servers en met de server kunnen externe gebruikers op afstand verbinding maken met Windows 10 en een opdrachtprompt ontvangen via SSH.

Voor degenen die op afstand console-toegang willen tot hun Windows 10-computers, is de ingebouwde Windows 10 OpenSSH Server misschien wat u zoekt. Nog beter, voor degenen die bekend zijn met OpenSSH van het gebruik ervan in Linux, werkt de Windows 10-versie vrijwel hetzelfde.

Hoewel de Windows 10 OpenSSH-client echt eenvoudig te installeren en te gebruiken is, was het uitzoeken hoe je de OpenSSH Server aan de praat krijgt een echte pijn, omdat je veel ongedocumenteerde wijzigingen moet aanbrengen in de rechten & en de sleutelgeneratie werkt niet zoals verwacht. Maar nu ik alles heb uitgezocht, zou het je niet meer dan 10 minuten moeten kosten om deze instructies te volgen en een werkende OpenSSH Server implementatie in Windows 10 te installeren.

Installeren van de Windows 10 OpenSSH Server

De eerste stap is om op het Windows Start Menu () te klikken en dan in het zoekveld optie te typen. Een zoekresultaat met het label Manage optional features zal worden weergegeven, waarop u moet klikken. Hierdoor wordt het scherm Beheer optionele functies geopend, zoals hieronder wordt weergegeven.

Scherm Beheer optionele functies

In dit scherm worden alle momenteel geïnstalleerde optionele Windows-functies weergegeven. Klik nu op de knop Een functie toevoegen, zoals aangegeven door de rode pijl hierboven. Er wordt een lijst geopend met optionele functies die kunnen worden geïnstalleerd. De meeste zijn font packs, maar als u naar beneden scrollt, ziet u een kenmerk genaamd OpenSSH Server (Beta).

Installeer het kenmerk OpenSSH Server

Om het kenmerk OpenSSH Server (Beta) te installeren, selecteert u het en klikt u op de knop Installeren. Zodra u op de knop Installeren hebt geklikt, zult u zien dat de functie uit de lijst verdwijnt. Dit is normaal en niets om u zorgen over te maken. Klik gewoon op de pijl terug linksboven in het venster en u bent terug in de lijst van geïnstalleerde features, maar nu met de OpenSSH Server (Beta) geïnstalleerd.

Windows 10 OpenSSH Server Geïnstalleerd

U kunt nu dit venster sluiten.

Na de installatie zijn er twee nieuwe Windows services genaamd sshd en sshd-agent aangemaakt en de bijbehorende bestanden zijn opgeslagen in de map C:Windows:Systeem32:OpenSSH. De lijst met geïnstalleerde bestanden is:

Om de installatie af te ronden, dient u nu uw computer opnieuw op te starten.

Nadat u weer inlogt, zal de sshd service niet gestart zijn en als u deze probeert te starten, zal Windows melden dat het niet de vereiste privileges heeft om de service te starten.

De dienst OpenSSH mist een privilege

Het ontbrekende privilege dat de dienst nodig heeft, is Vervang een Token op procesniveau en dat moeten we toevoegen aan de NT Service-sshd-account. Open daarvoor de Editor voor lokaal beveiligingsbeleid door in het menu Start te zoeken naar secpol en het resultaat voor lokaal beveiligingsbeleid te selecteren dat verschijnt.

Wanneer de Editor voor lokaal beveiligingsbeleid wordt geopend, moet u Lokaal beleid uitbreiden en met de linkermuisknop klikken op Toewijzing van gebruikersrechten. Zodra u Toewijzing van gebruikersrechten hebt geselecteerd, ziet u verschillende rechten in het rechterdeelvenster. Scroll naar beneden totdat je de Replace a process level token privilege ziet en dubbel-klik erop. Hierdoor worden de eigenschappen voor dat privilege geopend en worden de accounts of groepen weergegeven waaraan het momenteel is toegewezen.

Vervangen van een token op procesniveau Eigenschappen van het privilege

Klik nu op de knop Gebruiker of groep toevoegen en voer NT Service in het veld Objectnamen invoeren om te selecteren in, zoals hieronder wordt weergegeven.

Account toevoegen aan privilege

Wanneer u klaar bent, klikt u op de knop OK om dit privilege aan sshd te geven. U kunt vervolgens op de knop OK drukken om de eigenschappen te sluiten en vervolgens de editor voor lokaal beveiligingsbeleid te sluiten.

Zelfs met het privilege ingeschakeld, wanneer u probeert de sshd-service te starten, geeft Windows de foutmelding “Windows could not start the sshd service on Local Computer. Fout 1067: Het proces is onverwacht beëindigd.”

Fout 1067 wanneer u de sshd-service probeert te starten

Als u in het logbestand C:Windows:Windows:systeembestand32OpenSSH:logboeken:sshd.log bestand staan fouten zoals de volgende.

SSHD geeft deze fouten weer omdat u de host sleutels niet heeft gegenereerd die worden gebruikt om het verkeer tussen de server en de client te versleutelen. Om deze sleutels te maken moeten we het commando C:Windows-keygen.exe -A uitvoeren vanaf een verhoogde opdrachtprompt zodat de sleutels worden gemaakt in de map C:Windows-keygen.exe

Het commando “ssh-keygen -A” genereert een sleutel met het standaard sleutelbestandpad, een lege passphrase, standaardbits voor het sleuteltype, en standaardcommentaar. Normaal gezien zou ik een passphrase toevoegen aan de sleutel, maar in de huidige gebundelde Windows 10-versie van OpenSSH zal ssh-keygen reageren met een “failed: invalid argument” foutmelding wanneer u probeert een passphrase toe te voegen.

Running ssh-keygen.exe

Wanneer ssh-keygen klaar is met het aanmaken en opslaan van uw sleutel, zal het u terugbrengen naar de opdrachtprompt zoals hierboven getoond. U kunt exit typen en op enter drukken om de verhoogde opdrachtprompt te verlaten.

We zijn helaas nog niet klaar en als u de sshd-service probeert te starten, zal Windows opnieuw reageren met een “Fout 1067”. Dit komt omdat het NT Service account geen toegang heeft tot het C:Windows:systeem32:OpenSSH:sshd_host_ed25519_key bestand. Om dit op te lossen, gaat u naar de eigenschappen van het ssh_host_ed25519_key bestand en brengt u de volgende wijzigingen aan:

  • Verander de eigenaar van het bestand in NT Service\sshd.
  • Geef de NT Service\sshd alleen de leesrechten voor dit bestand.
  • Verwijder de rechten voor alle gebruikers op dit bestand. Bijvoorbeeld, uw ingelogde account zal rechten hebben, die verwijderd moeten worden.

Wanneer u klaar bent, moeten de permissies voor het bestand ssh_host_ed25519_key er als volgt uitzien:

Goede permissies

Als u de permissies niet juist instelt, kunt u de sshd-service niet starten en geeft het logbestand de volgende fouten weer:

Wanneer u de juiste permissies hebt ingesteld op het private key-bestand, kunt u de sshd-service opnieuw starten. Deze keer wordt de sshd-service wel gestart en is deze beschikbaar voor computers om verbinding mee te maken.

SSHD-service gestart

Nu de service wordt uitgevoerd, kunt u op afstand verbinding maken met uw Windows 10-box via SSH. Hieronder staat een voorbeeld van hoe het eruit ziet als je SSH op een Windows 10 computer. Merk op dat u een volledige opdrachtprompt krijgt waar u alle opdrachtprompts kunt uitvoeren, inclusief PowerShell.

Windows 10 Opdrachtprompt over SSH

De sshd-service staat op Automatisch (Uitgestelde start), wat betekent dat Windows deze service start nadat alle andere services die op Automatisch zijn ingesteld, klaar zijn met starten. Daarom kan het na het opnieuw opstarten van een computer enkele minuten duren voordat de OpenSSH Server is opgestart en er verbinding mee kan worden gemaakt.

Met een OpenSSH Server die op Windows 10 wordt uitgevoerd, hebt u een extra laag van flexibiliteit toegevoegd met hoe u een computer kunt beheren. Als u besluit om de OpenSSH Server in te schakelen, zorg er dan voor dat poort 22, waar sshd op luistert, alleen toegankelijk is voor vertrouwde IP-adressen.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.