Windows-Rechner von außen fernsteuern

Aus dem IServ-Wiki
Version vom 20. Juni 2017, 00:13 Uhr von Felix Jacobi (Diskussion | Beiträge) (→‎Konfiguration der Windows-Clients)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Mithilfe der Protkolle SSH und RDP kann man sich von außen mit Windows-Rechnern, die hinter einem IServ stehen, verbinden und fernsteuern. Dazu baut man mit einem beliebigen SSH-Client eine SSH-Verbindung zum IServ auf, und tunnelt dann den RDP-Port 3389 von einem der Rechner hinter IServ auf einen beliebigen Port auf dem lokalen Rechner. Anschließend kann man mit einem beliebigen RDP-Client eine Verbindung zu diesem lokalen Port und damit zum entfernten Windows-Rechner herstellen.

Voraussetzungen

  • RDP wird erst ab Windows XP unterstützt; Windows 2000 sowie die Home-Varianten von Windows XP und Windows Vista werden nicht unterstützt.
  • Der Windows-Rechner hinter dem IServ muss für den RDP-Zugriff konfiguriert sein; am besten konfiguriert man diesen von vornherein auf allen Windows-Clients im Schulnetzwerk.
  • Man benötigt einen Acccount mit Adminrechten auf dem Windows-Client. Im Normalfall erreicht man dies, in dem man sich der Gruppe Win-Admins (IServ1) oder Domain Admins (IServ2) hinzufügt, und dann den normalen Account zum Remotelogin verwendet.
  • Auf dem Windows-Rechner muss der RDP-Port in der Firewall freigegeben sein, sofern diese eingeschaltet ist.
  • Man muss auf dem IServ in der Gruppe Admins sein, um über SSH Verbindungen tunneln zu dürfen. Eine Shell wird nicht benötigt.

Konfiguration der Windows-Clients

Reiter "Remote" in Windows XP
Windows XP-Firewall

Windows XP

Aktivieren des RDP-Servers

Rechtsklick auf den ArbeitsplatzEigenschaftenRemote

Dort die Option "Benutzern erlauben, eine Remotedesktopverbindung herzustellen" setzen.

Konfiguration der Firewall

StartEinstellungenSystemsteuerungWindows-FirewallAusnahmen

Dort die Option "Remotedesktop" setzen.

Windows Vista

http://www.howtogeek.com/howto/windows-vista/turn-on-remote-desktop-in-windows-vista/

Windows ab 7

Alle Windows-Versionen ab 7 werden automatisch über den IServ Registry-Patch richtig konfiguriert (für die jeweilige Windows-Version zu finden auf der Netzwerkfreigabe \\iserv\netlogon - Datei win7/8/10.reg oder in der Rechnerverwaltung unter Registry-Patches oben). Gegebenenfalls muss die Windows-Firewall abgeschaltet werden, damit der Zugriff nicht blockiert wird oder aber der Port für Remotedesktop mit folgenden Kommandozeilenbefehl für unbeschränkten Zugriff freigegeben werden:

netsh advfirewall firewall add rule name="IServ Remotedesktop" protocol=TCP dir=in localport=3389 localip=all remoteip=all action=allow

Windows-Rechner, die über die Softwareverteilung installiert wurden, sind automatisch richtig konfiguriert.

Konfiguration des IServs

Da dieses Feature eigentlich nur für Administatoren Sinn macht und diese sowieso bereits in den Gruppen "Admins" und "Domain Admins" eingetragen sein sollten, muss hier nichts weiter getan werden.

Verbindung von außen herstellen

Linux (Ubuntu)

SSH-Verbindung herstellen

Öffne ein Terminal, um eine SSH-Verbindung zum IServ herstellen und dabei beispielsweise einen RDP-Tunnel zum PC 192.168.0.123 aufbauen:

befehl
ssh vorname.nachname@mein-iserv.de -N -L 4000:192.168.0.123:3389

Mit dem Schalter -N gibt man an, dass man nur Ports weiterleiten will, ohne dabei eine Shell zu starten; der Schalter -L richtet die eigentliche Weiterleitung ein.

Im Beispiel wird der Port 3389 (RDP) des Computers 192.168.0.123 auf den lokalen Port 4000 weitergeleitet. Der lokale Port ist dabei beliebig (unter Linux kann man auch als lokalen Port 3389 verwenden, da Linux ja keinen RDP-Server hat), er sollte nur größer als 1024 sein, da man ansonsten Root-Rechte für den SSH-Befehl braucht.

Nun wird ein Passwort abgefragt, das mit Return bestätigt wird. Im Terminal erfolgt keine Rückmeldung. Es geht mit dem nächsten Schritt in dieser Anleitung weiter.

RDP-Verbindung herstellen

Terminal-Server-Client von Ubuntu

Anschließend kann man die eigentliche RDP-Verbindung zu localhost:4000 aufbauen:

AnwendungenInternetTerminal-Server-Client

Rechnername: localhost:4000
Protokoll: RDPv5
Benutzername und Passwort können nach dem Herstellen der Verbindung in der Anmeldemaske des Remote-Windowscomputers eingegeben werden.

Windows

SSH-Verbindung herstellen

PuTTY
Shell in PuTTY deaktivieren
Tunnel-Konfiguration von PuTTY
  1. PuTTY ggf. herunterladen und starten.
  2. Als Host die URL des IServs eingeben.
  3. Links in der Navigation zu ConnectionSSH wechseln, und die Option "Don't start a shell or command at all" setzen. Ist diese Option nicht gesetzt, funktioniert das Ganze nur noch dann, wenn der Benutzer auf dem Server wirklich eine Shell gesetzt hat - und gerade das soll ja vermieden werden.
  4. In der Navigation zu ConnectionSSHTunnels wechseln, und die Weiterleitung einrichten: Bei Source port den lokalen Port eingeben, z. B. 4000.
    Bei Destination die IP des entfernten Rechners und den Zielport eingeben, z. B. 192.168.0.123:3389. Anschließend den Eintrag per Add hinzufügen.
  5. Ggf. die Einstellungen auf der ersten Seite speichern, damit diese Schritte nicht jedes Mal erneut durchgeführt werden müssen.
  6. Die Verbindung mit Open herstellen; in dem Prompt den Benutzernamen und das Passwort eingeben.

RDP-Verbindung herstellen

Windows-RDP-Client

Den Windows-RDP-Client starten:

Über das Startmenü: StartProgrammeZubehörKommunikationRemotedesktopverbindung
Über den Ausführen-Befehl: StartAusführen, "mstsc" eingeben, OK.