Difference between revisions of "Lab/Windows Server 2022-ssh"
(One intermediate revision by the same user not shown) | |||
Line 42: | Line 42: | ||
Dette kan du trygt gjøre fra SSH: |
Dette kan du trygt gjøre fra SSH: |
||
− | <code>cd $ |
+ | <code>cd $env:Home\Downloads</code> |
<code>Invoke-WebRequest -Uri "<nowiki>https://github.com/PowerShell/PowerShell/releases/download/v7.3.8/PowerShell-7.3.8-win-x64.msi</nowiki>" -OutFile ".\PowerShell-7.3.8-win-x64.msi"</code> |
<code>Invoke-WebRequest -Uri "<nowiki>https://github.com/PowerShell/PowerShell/releases/download/v7.3.8/PowerShell-7.3.8-win-x64.msi</nowiki>" -OutFile ".\PowerShell-7.3.8-win-x64.msi"</code> |
||
Line 51: | Line 51: | ||
<code>Enter-PSSession -HostName server -UserName admin_einar</code> |
<code>Enter-PSSession -HostName server -UserName admin_einar</code> |
||
+ | |||
+ | Mer om PowerShell over SSH hos [https://learn.microsoft.com/en-us/powershell/scripting/learn/remoting/ssh-remoting-in-powershell Microsoft her]. |
Latest revision as of 21:27, 25 October 2023
Det har blitt ganske enkelt å sette opp SSH på Windows Server slik at man kan utføre driftsoppgaver fra f.eks. Linux. Dette er spesielt fint hvis man kjører Core.
Installer SSHD på serveren
Komplette instruksjoner ligger hos Microsoft her. Du må starte fra kommandolinjen/powershell på selve serveren.
Installer OpenSSH Server:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Start tjenesten og sett den til å starte automatisk:
Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'
Allerede nå kan du logge inn på serveren akkurat som du skulle forvente. Legg spesielt merke til at serveren faktisk lager et ED25519-sertifikat. Når du logger inn får du en gammeldags BATCH/COMMAND.COM-sesjon. Vi vil ha PowerShell!
Sett opp PowerShell-sesjon i sshd
Komplette instruksjoner ligger hos Microsoft
Sett opp en register-nøkkel som gjør det innebygde PowerShell-et til default-shell:
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force
Bonus: Installer nyeste PowerShell slik at PowerShell-remoting fungerer fra Linux sin PowerShell også
Komplette instruksjoner ligger hos Microsoft her og her. OBS: det er stor sannsynlighet for at det har kommet nyere PowerShell siden sist.
For dette steget bruker vi notepad, så enten må du bruke UNC-path //server/c$/ProgramData/ssh/
fra en Windows-maskin med GUI eller så må du bruke den interaktive sesjonen (lokalt konsoll) på serveren. Her demonstreres sistnevnte.
cd $env:ProgramData\ssh
notepad sshd_config
Lim inn følgende linje, for eksempel mot slutten av filen, under Subsystem sftp-linjen:
Subsystem powershell c:/progra~1/powershell/7/pwsh.exe -sshs -nologo
Lagre og lukk filen, og start sshd på nytt:
Restart-Service sshd
Dette kan du trygt gjøre fra SSH:
cd $env:Home\Downloads
Invoke-WebRequest -Uri "https://github.com/PowerShell/PowerShell/releases/download/v7.3.8/PowerShell-7.3.8-win-x64.msi" -OutFile ".\PowerShell-7.3.8-win-x64.msi"
msiexec.exe /package PowerShell-7.3.8-win-x64.msi /quiet ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1 ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL=1 ENABLE_PSREMOTING=1 REGISTER_MANIFEST=1 USE_MU=1 ENABLE_MU=1 ADD_PATH=1
Etter en kort stund skal det være mulig å bruke PowerShell-remoting også, slik:
Enter-PSSession -HostName server -UserName admin_einar
Mer om PowerShell over SSH hos Microsoft her.