OpenSSH ist die führende Remote-Anmeldung über SSH Protokoll in Linux, nun auch für Windows.
OpenSSH verschlüsselt den Datenverkehr, darüber hinaus bietet OpenSSH eine große Auswahl an sicheren Tunneling-Funktionen, mehrere Authentifizierungsmethoden und anspruchsvolle Konfigurationsoptionen.

Für die SSH Remoteverwaltung in heterogenen Netzwerken, haben Windows und Linux nicht viel gemeinsames. Unter Unix/Linux ist der Remote-Zugriff per OpenSSH ein Standard für Datentransfer, Remote-Terminal sowie Port-Forwarding für Remote-X. Unter Windows ist ein wirklicher SSH Standard mit OpenSSH noch nicht erreicht, neben WinRM, PowerShell-Remote, RDS und RSAT gibt es einige mehr. Hinzugekommen ist nun auch ein Port des freien OpenSSH Client/Server Tools, dies ermöglicht weitere Integration und Verwaltung von Windows und Linux Umgebungen.
OpenSSH Installation in Windows PowerShell
Als erstes öffnen wir PowerShell als Administrator. Klicke hierzu auf Start und gib powershell ein. Wenn der Eintrag zu sehen ist, klicke auf Als Administrator ausführen und dann auf Ja. Bevor wir die Installation durchführen, müssen wir herausfinden, welche Versionen der Software verfügbar sind, was mit dem folgenden Befehl erledigt werden kann.
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
Erscheint die Ausgabe: State : NotPresent
Installiere zunächst den OpenSSH-Client mit.
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Falls gewünscht, installiere als nächstes den OpenSSH-Server.
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Sowohl der SSH Client als auch SSH Server sollten Installiert sein. Als nächstes müssen wir den OpenSSH-Server mit dem Befehl starten.
Start-Service sshd
Jetzt müssen wir nur noch den OpenSSH-Server so einstellen, dass er beim Booten startet.
Set-Service -Name sshd -StartupType 'Automatic'
OpenSSH auf Github
Die OpenSSH Suite ist auf Github verfügbar und besteht aktuell aus folgenden Tools:
- Remote-Operationen werden mit ssh, scp und sftp durchgeführt
- Key Management mit ssh-add, ssh-keygen
- Die Service-Seite besteht aus sshd, sftp-server und ssh-agent
Win32 OpenSSH Windows Installation
Nach dem Download das Zip-Archive in C:\Program Files\OpenSSH entpacken.
Starte PowerShell als Administrator und wechsle in den Pfad C:\Program Files\OpenSSH und führe folgende Aktion aus.
cd "C:\Program Files\OpenSSH"
powershell -executionpolicy bypass -file install-sshd.ps1
Die SSH Host-Schlüssel generieren mit allen Schlüssel die sshd für Key-auth erwartet.
.\ssh-keygen.exe -A
Die Firewall auf Windows Server für SSH erweitern.
New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH
Bei der Windows Workstation werden eingehende SSH Verbindungen wie folgt erlaubt.
netsh advfirewall firewall add rule name='SSH Port' dir=in action=allow protocol=TCP localport=22
Der SSH-Agent hält den privaten Schlüssel im Arbeitsspeicher.
Start-Service ssh-agent
SSH Verbinden mit Windows
Nun können SSH Verbinden aufgebaut werden.
./ssh user@10.10.10.10
./ssh -i privkey.pem user@10.10.10.10
./scp file user@10.10.10.10:/tmp

Den SSH Daemon Auto-start (Boot) aktivieren.
Set-Service sshd -StartupType Automatic
Set-Service ssh-agent -StartupType Automatic
Ein Schlüsselpar wird wie folgt generiert.
PS C:\Program Files\OpenSSH> ssh-keygen -t rsa -b 4096 -C "user@mydomain.com"
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\user/.ssh/id_rsa): user
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in user.
Your public key has been saved in user.pub.
The key fingerprint is:
SHA256:lbPo7eEQFzaS3GFBImQG/X4H963KEOwrc3xPWeBj2Wc user@mydomain.com
The key's randomart image is:
+---[RSA 4096]----+
| .+= ..=. |
| o.o = o |
| .+ O . |
| .*.=.. + |
| .S =o .=.E|
| ..=.....=o|
| oo=. o. |
| o+o=... |
| ++.oo. |
+----[SHA256]-----+