WinSSHD

Ein Windows Secure Shell Server

Ein SSH-Server bietet die Möglichkeit, jenen PC über das Netzwerk zu steuern, auf welchem der SSH-Server läuft. Am Arbeits-PC benötigt man dazu ein SSH-Client Programm. Die Fernsteuerung von (Server)-PC mit SSH ist auf Linux gängige Praxis, auf Windows jedoch wenig verbreitet. Auf dieser Seite wird vorgestellt, wie man auch auf Windows mit kostenfreier Software eine sichere Fernsteuerung einrichten kann.
SSH Konsolen-Fernsteuerung mit dem Secure Shell Protokoll
WinSSHD Ein (privat) kostenfrei verwendbares SSH Server-Programm
Installation des SSH-Servers auf einem Windows-PC
Konfiguration des WinSSHD-Servers
Start & Stop des WinSSHD-Servers

WinSSHD

Es gibt mehrere brauchbare SSH-Server für Windows. Hier wird das halb-kommerzielle Produkt WinSSHD von Bitvise vorgestellt, weil es für den privaten Bedarf kostenfrei ist und problemlos läuft. Der Hersteller bietet auch weitere Produkte zu ähnlichen Aufgaben an. Wer den WinSSHD Server kommerziell einsetzen will, kann eine Lizenz erwerben.

Download

Laden sie aus dem Internet die aktuelle Version des WinSSHD Servers.

Installation

Sie benötigen Administrator-Rechte, um den WinSSHD Server zu installieren.

Versionen

Bei der Installation kann man sich für eine der beiden angebotenen Varianten entscheiden:

Personal Edition
ist für den privaten Gebrauch ausgezeichnet geeignet, da die Einschränkungen normalerweise nicht zutreffen:
Unterstützt nur maximal 10 lokalen Konten (Accounts), keine Domänen
Arbeitet nur mit einer Windows-Arbeitsgruppe
Alle Kapitel dieser Seite beziehen sich auf die Personal Edition.

Standard Edition
bietet den vollen Leistungs-Umfang, läuft allerdings nur 30 Tage lang. Danach braucht man zum weiteren Betrieb eine Lizenz.
Diese Version eignet sich zum Test des Servers unter realen Bedingungen, wenn man das Programm in einem Unternehmen einsetzen will. Die Probezeit von 30 Tagen ist ausreichend für eine sorgfältige Prüfung.

Anwendung

Ein SSH-Server bietet eine Konsole zur Fernsteuerung des Server-PC. Das ist ein Text-Fenster, welches genauso aussieht und die genau die gleichen Funktionen anbietet wie die Windows-Konsole ('Eingabeaufforderung') cmd.exe

Der WinSSHD Server ist daher nur dann sinnvoll, wenn sie zumindest die wichtigsten Befehle und Funktionen der Windows-Konsole beherrschen.
Wenn man dabei unsicher ist, kann man sich Script-Programme für bestimmte Zwecke herstellen lassen.
In jedem anderen Fall ist ein SSH-Server sinnlos.

Die veraltete Windows-Konsole bietet nur wenig Komfort. Man kann sie mit (kostenfreien) Zusatz-Programmen modernisieren, z.B. mit → Perl oder → CygWin.

Diese oder andere Erweiterungen kann man z.B. einsetzen, um auch wenig geübten AnwenderInnen einfache Befehle zur Fernsteuerung anzubieten, oder um komplexe Aufgaben zu erledigen, mit denen die Windows-Konsole einfach überfordert ist.

Details zur Windows-Konsole

Installation

Installation

Laden sie aus dem Internet die aktuelle Version des WinSSHD Servers und starten sie den Installer.

Geben sie den Installations-Pfad an, z.B.
C:\Programme\Bitvise WinSSHD
Wählen sie 'Personal Edition' (die 'Standard Edition ist nach 30 Tagen kostenpflichtig).
Quittiern sie. Während der Installation werden diverse Meldungen in einem Konsolen-Fenster angezeigt. Unterbrechen sie das Konsolen-Programm keinesfalls !
Warten sie, bis die vollständige Installation gemeldet wird.

Konfiguration

Unmittelbar nach erfolgreicher Installation wird normalerweise das Konfigurations-Programm 'WinSSHD Control Panel' gestartet.
In jedem Fall können sie auch später das Konfigurations-Programm starten. Es befindet sich normalerweise hier:
C:\Programme\Bitvise WINSSHD\sshdctrl.exe
Details zur Konfiguration im ↓ nächsten Kapitel.

Konfiguration

WinSSHD Control Panel

Starten sie das Kontrollfeld des WinSSHD Servers = das Programm
C:\Programme\Bitvise WINSSHD\sshdctrl.exe
Die Einstellung erfolgt im Register 'Server', Kapitel 'Settings'

Klicken sie zunächst auf den Link 'View Settings':
In einem eigenen Fenster haben sie Gelegenheit, alle Standard-Einstellungen ohne Risiko (read-only) zu konstrollieren.

Verwenden sie 'Edit Settings', wenn sie die Einstellungen ändern wollen. Der SSH Server ist nach Installation lauffähig eingestellt, braucht daher normalerweise keine Änderung der Konfiguration.
Lediglich der erstmalige Start muss manuell ausgeführt werden.

Sicherheit

Der Zweck eines SSH-Servers ist die Fernsteuerung jenes PC, auf welchem der Server installiert ist. Diese Möglichkeit ist zwar geschützt, kann jedoch eine Sicherheits-Lücke öffnen, d.h. auch unerwünschten Gästen Zugang zu diesem PC bieten.


SSH-Experimente
Der WinSSHD Server ist sehr gut geeignet, um mit SSH zu experimentieren. Dazu wählt man jedoch keinesfalls einen realen Windows-Server oder einen PC, auf dem sich wichtige Daten befinden.
Ideal für Tests geeignet sind → Virtuelle Computer: Man kann damit ohne Rücksichten experimentieren und sie nach Gebrauch einfach löschen.
Man kann das Risiko während der Testphase verringern, wenn man den Internet Zugang in dieser Zeit abschaltet. In diesem Fall haben nur SSH Client-Programme aus dem eigenen lokalen Netzwerk Zugriff auf den SSH-Server.

Verwendung
Wenn sie ausreichend Erfahrung mit SSH gewonnen haben, dann können sie einen WinSSHD Server auch für den realen Einsatz konfigurieren.

Sie sollten das Risiko jedoch auf ein Mindstmaß reduzieren, z.B. durch Konfiguration nach den beiden Standard-Regeln der PC-Sicherheit:
Zuerst (und im Zweifel) alles verbieten
Danach nur das erlauben, was unbedingt notwendig ist.

Kontrollieren sie regelmäßig das Log !

Schalten sie den SSH-Dienst nur dann ein, wenn sie ihn tatsächlich verwenden.
Server | Bindings
Hier wird eingetragen, auf welchen Adressen der SSH Server 'lauscht' (listen).

Die Standard-Einstellung 0.0.0.0 arbeitet mit allen für diesen PC vergebenen IP-Adressen.

Mit dem Konsolen-Programm ipconfig kann man die aktuellen Adresse(n) des Server-PC anzeigen.
Sie können die Einstellung einschränken, wenn der Server nur auf einer von mehreren Adressenj mit SSH erreichbar sein soll.
Sie dürfen die Einstellung nicht ändern, wenn der Server-PC seine Adresse automatisch (mit → DHCP) erhält.
Server | Windows Firewall
Hier wird ein allfällig laufender Windows-Firewall angewiesen, Verbindungen auf dem Standard SSH → Port 22 aus dem Netzwerk zu erlauben.
Wenn sie einen anderen Firewall betreiben, dann müssen sie ankommende Verbindungen auf Port 22 erlauben (manuell konfigurieren).
Diese Maßnahmen betreffen das lokale (!) Firewall-Programm, welches an jenem Windows-PC läuft, an welchem der WinSSHD Server installiert ist.
Der wesentlich wichtigere zentrale Firewall, welcher am Router/Proxy-Server ihr gesamtes lokales Netzwerk gegen das Internet abschirmt, ist davon nicht betroffen.
Server | Logging
Mit 'Log to Windows Event Log' werden (nur) wichtige Ereignisse in das System-Log eingetragen.
Ansicht:
Starten sie die 'Computerverwaltung' compmgmt.msc und öffnen sie Ereignisanzeige | System oder
Starten sie direkt den Event-Viewer eventvwr.msc

Mit 'Log to textual log file' kann man SSH-Ereignisse in eine lesbare Log-Datei eintragen. Mit 'Logging level' stellt man den Umfang ein.
Hier (nicht im System-Log) kann man zusätzliche Ereignisse eintragen lassen, insbesondere bei Verdacht auf unerwünschte Eindringlinge.
Die Log-Dateien befinden sich normalerweise hier:
C:\Programme\Bitvise WINSSHD\Logs\*.log
(Verzeichnis und Dateien werden erst bei Verwendung des Servers angelegt !). Je mehr Ereignisse sie aufzeichnen lassen, desto schneller wächst die Größe der Log-Dateien !
Access control | Hosts: IP rules
Die Standard-Einstellung 0.0.0.0 erlaubt Verbindungen von allen → IP-Adressen, die überhaupt Verbindung mit dem Server-PC haben.

Trotzdem ist normalerweise nur der Zugang aus dem lokalen Netzwerk möglich, da der Zugang aus dem Internet durch den Router und/oder einen Firewall blockiert wird.
Es ist nur für Fachleute empfehlenswert, den Router so einzustellen, dass SSH-Pakete (auf Port 22) aus dem Internet durchgelassen werden. In diesem Fall müssen sie selbst durch geeignete Maßnahmen das Risiko unbefugter Zugriffe begrenzen.

Zur Sicherheit sollten sie den Zugang auf ihr lokales Netzwerk begrenzen.
Dazu tragen sie z.B. ein:
IP address=192.168.0.0
Significant bits=24
Allow connect=true
Ändern sie die im Beispiel angegebene Adresse, je nach der Basis-Adresse ihres eigenen Netzwerks.
Session
Hier kann man z.B. die Zeit für eine Anmeldung (Login timeout) problemlos auf 15-20 Sekunden begrenzen.
Wer sich nicht korrekt identifiziert, muss die angegebene Zeit (Login attempt delay) warten.
Access Control | User und Gruppen
In der professionellen Standard-Version kann (und soll) man hier die Zugangs-Rechte für User und Gruppen sinnvoll und möglichst restriktiv einstellen.
In der kostenfreien Personal-Version ist ein eigener User 'Virtual Users' angelegt, den man weder ändern noch entfernen sollte. Der Zugang zum SSH-Server ist damit zwar für jeden User möglich, danach erfolgt jedoch sofort die Anmeldung mit User-Name und Passwort (genauso wie am Betriebssystem des Server-PC).

Start

Nach Abschluss der Konfiguration starten sie den SSH-Server mit Klick auf den Link 'Start WinSSHD' im Register 'Server' des Konfigurations-Programms.
Bei korrekter Installation wird der Server durch ein Icon im Tray (ganz rechts unten am Monitor) angezeigt. Das Tray-Programm erlaubt u.a. auch Zugriff auf die Konfiguration.

Test

Zur Verbindung mit einem SSH-Server braucht man ein SSH Client-Programm, z.B. PuTTY.
Stellen sie eine Verbindung her, melden sie sich mit Name und Passwort an und tippen sie an der Fernsteuerungs-Konsole eine beliebige Anweisung ein, z.B.
C:\> ver
C:\> ipconfig

Start und Stop des SSH-Servers

Konfigurations-Programm

Mit dem WINSSHD Control Panel kann man u.a. auch den SSH-Server starten oder anhalten. Das Programm befindet sich normalerweise hier:
C:\Programme\Bitvise WINSSHD\sshdctrl.exe

In jedem Fall empfehlenswert ist eine Kontrolle durch das Windows Standard Programm services.msc (rechts).

Es ist unabhängig von diesen Programmen möglich, den SSH-Server (und jedes andern Server-Programm) durch eigene Programme zu steuern, die z.B. in der Programmiersprache → Perl erstellt wurden.

services.msc

Dieses Standard-Programm steuert alle auf einem Windows-PC installierten Server-Programme.
Start dieses Programms:
Start | Ausführen | services.msc oder
Computerverwaltung (compmgmt.msc) | Dienste und Anwendungen | Dienste
Sie finden den SSH-Server in der Liste unter 'WinSSHD'
Markieren sie den Server: Links erscheinen HyperLinks, um den Server zu starten oder zu stoppen.
Mit Rechtsklick können sie die Eigenschaften kontrollieren oder ändern, insbsondere den
Starttyp
Automatisch - Der Server wird nach dem System-Start automatisch gestartet
Manuell - Der Server muss manuell gestartet oder angehalten werden.
Deaktiviert - Der Server bleibt installiert, ist jedoch nicht in Betrieb.

XHTML CSS