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.
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.
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.
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:
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.
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.
Derimot går det fint å bruke PuTTY til dette.
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