OpenSSH Server¶
Microsoft hat sich seit dem Abschied von Steve Ballmer mit der neuen Führungsriege rund um Satya Nadella den Open Source Entwicklungen und der dortigen freien Software (siehe GNU/Linux) geöffnet.
Die PowerShell verfügt seit langem über den Standardclient dieser Entwicklerumgebungen - den OpenSSH Client aus der dortigen Umgebung für FreeBSD und Linux. OpenSSH ist für alle gängigen Betriebssysteme und Hardware-Plattformen einschließlich Windows verfügbar.
Microsoft stellt den OpenSSH-Client automatisch und den OpenSSH-Server per optionalem Feature bereit.
# Admin PowerShell oder alternative Admin-GUI
Get-WindowsCapability -Online | Where-Object { $_.Name -like "*openssh.server*" } |
Add-WindowsCapability -Online
Der OpenSSH-Server sollte noch über die Dienste der Maschine auf Start und Starteigenschaften analysiert und konfiguriert werden.
PS C:\Users\Administrator.FIRMA> Get-Service -Name sshd
Status Name DisplayName
------ ---- -----------
Stopped sshd OpenSSH SSH Server
PS C:\Users\Administrator.FIRMA> Get-Service -Name sshd | Select-Object -Property *
Name : sshd
RequiredServices : {}
CanPauseAndContinue : False
CanShutdown : False
CanStop : False
DisplayName : OpenSSH SSH Server
DependentServices : {}
MachineName : .
ServiceName : sshd
ServicesDependedOn : {}
ServiceHandle : SafeServiceHandle
Status : Stopped
ServiceType : Win32OwnProcess
StartType : Manual
Site :
Container :
Wir sollten also in diesem Fall noch den Server starten und natürlich auch für eine automatischen Start sorgen.
Start-Service -Name sshd
# Check Status
Get-Service -Name sshd | Select-Object -Property *
# Set StartType
Set-Service -Name sshd -StartupType Automatic
Die Verbindung zum OpenSSH-Server kann dann über einen beliebigen SSH-Client erfolgen:
SSH-CLI in PowerShell
Putty
MobaXterm (gerne auch mit SFTP/Dateihandling)
…
Beispielhafter Aufruf in Konsole:
ssh firma\Administrator@server-IP
# this is Standard CMD
# start a PowerShell session:
powershell
Und schon hat man eine sichere PowerShell Verbindung per SSH.