Tags: Azure, Virtualisierung, RDP, SSH
Zu Testzwecken ist manchmal nötig, auf eine Azure-VM über das Internet zuzugreifen. Zu diesem Zweck kann man ihnen öffentliche IP-Adressen zuweisen. RDP erlaubt dann die Fernsteuerung von Windows-Maschinen, SSH von Linux-VMs. Folgende Anleitung zeigt, wie man das Netzwerk und die Clients dafür konfiguriert.
Die Testumgebung zur Demonstration des Remote-Zugriffs benötigt zwei virtuelle Maschinen auf Azure, eine mit Windows, die andere mit Linux. Als lokale Workstation dient ein Windows-PC.
Windows-VM mit Nutzername und Passwort
Zum Erstellen der ersten Maschine legen wir unter dem Reiter Basic eine beliebige Ressource Group, die Location und einen VM-Name fest. Als Image dient ein Windows Server 2019 Datacenter. Nach Eingabe der Zugangsdaten folgt im Networking-Bereich das Bereitstellen eines neuen Interfaces mit dem virtuellen Netz und Subnetz.
Da die Verbindung später von außerhalb des virtuellen Netzwerks kommt, braucht man zusätzlich eine öffentliche IP-Adresse.
Die Network Security Group (NSG) wirkt als externe Firewall für die VM. In der standardmäßigen Konfiguration blockiert sie alle Verbindungen, die nicht ihre Quelle in demselben virtuellen Netzwerk oder im Load Balancer haben.
Für eine RDP-Verbindung muss jedoch dessen Standard-Port freigelegt sein. Die benötigte Regel fügt man durch Auswahl der entsprechenden Option unter Allow Selected Ports hinzu.
Linux-VM mit Public SSH-Key
Der zweite Rechner verwendet ein Linux wie etwa Red Hat Enterprise Linux 7.6 und den Authentifikationstyp SSH Public Key. Es besteht auch die Möglichkeit, ein normales Konto mit Name und Passwort zu erstellen, die Public-Key-Variante ist jedoch sicherer.
Hierfür ist ein Nutzername sowie ein Private- und Public-Key-Paar vonnöten. Kurzgefasst ist der Public Key ein öffentlich zugänglicher Schlüssel zur Chiffrierung von Daten. Die Generierung der Keys erfolgt unter Windows über ein Tool wie PuttyGen.
Für den späteren Verbindungsaufbau wird ein SSH-Client wie Putty benötigt. Aktuelle Versionen von Windows 10 sind jedoch auch mit einem integrierten Client ausgestattet. Das Starten von PuttyGen und ein anschließendes Betätigen des Generate-Knopfes erzeugt das benötigte Schlüsselpaar. Der öffentliche Schlüssel im oberen Feld wird direkt in das Portal kopiert.
Für eine erweiterte Sicherheit kann man eine Passphrase angeben. Für die Verwendung mit Putty sichert man den privaten Schlüssel über den Save-Button in einer PPK-Datei.
Der in Windows integrierte Client benötigt den Schlüssel dagegen im PEM-Format. Dieser lässt sich im oberen Reiter Conversion als OpenSSH Key exportieren und mit der Endung .pem abspeichern. Vor der Bereitstellung ist schließlich noch der Standard-SSH-Port im Networking-Abschnitt freizugeben.
RDP Verbindung erstellen
Die für eine Remotedesktop-Verbindung erforderlichen Dateien sind auf der Übersichtsseite über den Button Connect verfügbar. Sie existieren in den drei Varianten private IP, öffentliche IP und DNS Label. Die zwei Letzteren sind nur nach Erstellung einer öffentlichen Adresse und, wie weiter unten angeführt, eines DNS-Eintrags vorhanden.
Die Möglichkeit zur Kommunikation mit dem virtuellen Netzwerk und dem Internet stellt das Netzwerk-Interface bereit. Dieses und weitere Informationen wie die NSG kann man im Networking Tab einsehen.
Bei den einkommenden Regeln ist schließlich auch jene für RDP ersichtlich. Verbindungen über TCP aus allen Quellen werden auf dem Standard-RDP-Port zugelassen. Der PowerShell-Befehl Test-NetConnection kann dies prüfen, indem man als Computername die öffentliche IP-Adresse spezifiziert und als Port 3389 auswählt.
Test-NetConnection -ComputerName <IP oder DNS Label> -Port 3389
Ein Klick auf die öffentliche Adresse führt zur entsprechenden PIP-Ressource, die im Tab Configuration weitere Einstellungen zeigt. Standardmäßig ist die IP-Adresse dynamisch eingestellt.
Dies hat zur Folge, dass bei jedem Stoppen und Starten der VM eine neue zufällige IP vergeben wird. Entsprechend müsste man nach einem Neustart ein neues RDP-File mit aktueller Adresse herunterladen.
Abhilfe schafft das Umstellen auf eine statische IP oder auch das Einstellen eines DNS-Labels. Letzteres ergänzt den von Azure bereitgestellten DNS-Server um einen Eintrag, der immer auf die aktuelle Adresse auflöst.
Um dies zu testen, füge man den Eintrag an und lade anschließend die IP- und DNS-Variante herunter, mit sprechenden Dateinamen zur Unterscheidung der beiden. Das Ausführen sollte nach Eingabe der Zugangsdaten bei jeder der zwei Varianten in einer erfolgreichen Verbindung resultieren.
Stoppt man die Maschine, dann geht die Adresse verloren, was eine entsprechende Warnung auch ankündigt. Zudem ist in der PIP das Adressfeld leer und nach dem Neustart mit einem anderen Wert besetzt. Das Herstellen einer Verbindung schlägt nun über die IP fehl, die DNS-Variante hingegen funktioniert noch einwandfrei.
Alternativ zum Portal erhält man die RDP-Datei mit dem Befehl Get-AzRemoteDesktopFile im AzModul über die PowerShell. Das Pendant im AzureRm-Modul heißt Get-AzureRmRemoteDesktopFile.
Get-AzRemoteDesktopFile -ResourceGroupName <RGroup> -Name <VM> -LocalPath <Pfad>\<DateiName>.rdp
Eine weitere Alternative wäre, mstc.exe direkt aufzurufen, und die Adresse oder den DNS-Namen der Maschine einzutragen.
SSH Verbindung erstellen
Nach dem Start von Putty trägt man als Host den DNS-Namen oder die öffentliche IP der Maschine ein, welche auf gewohntem Weg in der Übersicht der VM abzulesen sind. Die private Schlüsseldatei wird in der Konfiguration unter dem Zweig SSH => Auth angegeben.
Ein Klick auf Open öffnet anschließend die Verbindung und fragt bei angegebener Passphrase nach derselben.
Unter Windows 10 kann man alternativ den eingebauten SSH-Client über die Eingabeaufforderung starten. Nach dem SSH-Befehl folgt die Eingabe des Admins und die IP bzw. das DNS-Labels der Maschine, voneinander getrennt durch ein @-Zeichen. Der Pfad zum PEM-Zertifikat mit enthaltenem Schlüssel wird über den Parameter -i hinzugefügt.
ssh <Admin>@<IP oder DNS-Name> -i <Pfad zum PEM-Zertifikat>
Erstellt man eine Linux-VM mit einfachen Zugangsdaten und Passwort, dann kann man sich über die gleichen Schritte verbinden. Lediglich das Erstellen und die Angabe der Schlüsselpaare entfallen.
Täglich Know-how für IT-Pros mit unserem Newsletter
Die Söldner Consult GmbH ist ein IT-Spezialist mit den Schwerpunkten Beratung, Projekte und Trainings. Wir unterstützen unsere Kunden bei der Einführung von Private-, Public- sowie Hybrid-Cloud-Lösungen.
Unsere Dienstleistungen umfassen die Konzeption von Cloud-Umgebungen, die Umsetzung von DevOps-Strategien oder das Automatisieren von IT-Prozessen.
Eine enge Zusammenarbeit mit Amazon AWS, Google Cloud, Microsoft, Pivotal, Veeam oder VMware erlaubt uns das Erarbeiten von herstellerübergreifenden Lösungen. Oft werden wir aufgrund unserer Expertise auch direkt von diesen Anbietern gebucht.
Zum Azure-Team bei der Soeldner Consult GmbH gehören Marcel Cisse, Daniel Landau, Alexej Prozorov, Patrick Rusch, Dr. Constantin Söldner, Dr. Guido Söldner und Prof. Dr. Jens-Henrik Söldner. Es kann große Projekte bei namhaften Kunden vorweisen und unterrichtet Azure auch in offiziellen Trainings des Herstellers sowie in Workshops.
Ähnliche Beiträge
- Verfügbare Azure-VMs in einer Region mit PowerShell anzeigen
- Azure Virtual Desktop und Windows 365 unterstützen nun Multimedia Redirection
- Spot, Reservierungen, Sparpläne: Kosten für Azure-VMs reduzieren
- Verfügbarkeit von Azure-VMs: SLA abhängig von Disk-Typ und Availability Set
- Updates für VM-Hosts in Azure: Geplante und ungeplante Wartung
Weitere Links