Verbindung zu virtuellen Maschinen (Bastion)¶
Wenn deine Plattform den Hub-Azure Bastion aktiviert hat (create_bastion_host im connectivity layer), erreichst
du die VMs in deinem Spoke über den zentralen Bastion-Host. Deine VMs bekommen keine öffentlichen IP-Adressen.
Mit dem Plattform-Team abstimmen
Ob Bastion existiert, sowie Name, resource group und subscription werden pro Plattform festgelegt. Die Beispiele verwenden Platzhalter. Frag dein Plattform-Team nach den Werten.
Was du brauchst¶
| Voraussetzung | Details |
|---|---|
| Rechte auf dem Bastion-Host | Dein Plattform-Team gibt deinem Team das Recht, den Hub-Bastion zu nutzen. Eine Plattform kann das über eine dedizierte Gruppe lösen, die die Team-Gruppen aller spokes enthält (Dedicated group manager). Suche im Azure-Portal nach Bastion. Wenn du ihn nicht siehst, frag dein Plattform-Team. |
| Rechte auf der VM | Gültige Zugangsdaten, die der VM-Owner (dein Team) eingerichtet hat: Benutzername und Passwort oder ein SSH-Key. |
| Die private IP-Adresse oder Resource ID der VM | Im Portal auf der Seite der VM. |
Da Bastion zentral ist, funktioniert die Schaltfläche Connect auf der VM-Seite nicht. Verbinde dich über die Bastion-Ressource oder mit der Azure CLI.
Betreibt deine Plattform pro Region einen Bastion-Host, nutze den in der gleichen Region wie deine VM. Er bietet die geringste Latenz und den kürzesten Netzwerkpfad. Frag dein Plattform-Team nach Name und Link jedes Hosts.
Anmeldung mit Entra ID
Die Anmeldung an einer VM mit Entra ID Identitäten erfordert den Bastion native client und eine Plattform, die
das unterstützt. Viele Plattformen starten nur mit Benutzername und Passwort oder SSH-Keys. Frag dein
Plattform-Team, was für dich gilt. Mit dem optionalen Managed-VM-Modul ist die Anmeldung mit Entra ID verfügbar: Füge
--auth-type "AAD" zu az network bastion ssh und az network bastion rdp hinzu. Siehe
Managed Virtual Machines.
Verbinden über das Portal¶
- Öffne den Bastion-Host im Portal und wähle Connect.
- Gib die private IP-Adresse der VM ein, wähle das Protokoll (SSH für Linux, RDP für Windows) und die Zugangsdaten.
- Wähle Connect. Ein neuer Browser-Tab mit deiner Sitzung öffnet sich. Dein Browser blockiert das Pop-up möglicherweise.
Verbinden mit der Azure CLI (native client)¶
Ersetze die Platzhalter. Diese Befehle funktionieren unter Windows, macOS und Linux mit installierter Azure CLI.
az login
az account set --subscription "<bastion subscription id>"
Linux-VM per SSH, mit SSH-Key, über die private IP:
az network bastion ssh --name "<bastion name>" --resource-group "<bastion resource group>" \
--target-ip-address "<vm private ip>" --auth-type "ssh-key" --username "<user>" --ssh-key "<key file>"
Linux-VM per SSH, mit Passwort, über die Resource ID:
az network bastion ssh --name "<bastion name>" --resource-group "<bastion resource group>" \
--target-resource-id "<vm resource id>" --auth-type "password" --username "<user>"
Windows-VM per RDP unter Windows:
az network bastion rdp --name "<bastion name>" --resource-group "<bastion resource group>" \
--target-resource-id "<vm resource id>"
Windows-VM per RDP von macOS oder Linux (Tunnel):
az network bastion tunnel --name "<bastion name>" --resource-group "<bastion resource group>" \
--target-resource-id "<vm resource id>" --resource-port 3389 --port 3389
# then connect your RDP client to localhost:3389
Verwende für --target-ip-address die private IP der VM anstelle von --target-resource-id.
Verbinden von macOS mit Entra-ID-Anmeldung¶
Das Portal kann sich nicht mit Entra-ID-Identitäten anmelden, und az network bastion rdp ist für Windows-Clients gedacht (siehe oben). Unter macOS öffnest du
einen Tunnel mit der Azure CLI und verbindest dich mit der Windows App (dem Remote-Desktop-Client von Microsoft). Die folgenden Schritte sind ein
Beispiel für eine Windows-VM, die in Entra ID eingebunden ist. Stimme sie mit deinem Plattform-Team ab.
-
Öffne den Tunnel. Nimm einen lokalen Port über 1024, wenn der Standard-RDP-Port belegt ist:
az network bastion tunnel --name "<bastion name>" --resource-group "<bastion resource group>" \ --target-resource-id "<vm resource id>" --resource-port 3389 --port 22222Lass dieses Terminal so lange offen, wie du die Sitzung brauchst.
-
Lege in der Windows App eine Verbindung an (oder importiere eine
.rdp-Datei) mit deinem eigenen Konto als Benutzername und<vm name>:22222als Adresse. -
Füge in
/etc/hostseine Zeile hinzu, sodass der VM-Name auf deinen eigenen Rechner zeigt (dafür istsudonötig):127.0.0.1 <vm name> -
Aktiviere in der RDP-Verbindung die Einstellungen für die Entra-ID-Anmeldung. In einer
.rdp-Datei sind dasenablerdsaadauth:i:1undtargetisaadjoined:i:1. - Verbinde dich. Die Windows App fragt nach deinen Entra-ID-Zugangsdaten.
Entferne den hosts-Eintrag, wenn du ihn nicht mehr brauchst.
Andere private Ressourcen erreichen¶
Bastion ist für VMs. Für private endpoints von PaaS-Services (Storage, Datenbanken, Key Vault) von deinem eigenen Laptop aus ist der übliche Weg das Firmennetzwerk oder VPN und nicht Bastion. Ob du dafür eine Firewallregel brauchst, hängt davon ab, wie deine Organisation Laptops mit Azure verbindet. Frag also dein Plattform-Team, bevor du eine anfragst.
Wenn es nicht funktioniert¶
| Symptom | Wahrscheinliche Ursache |
|---|---|
| Du siehst den Bastion-Host nicht | Du hast keine Rechte darauf. Frag dein Plattform-Team. |
| Zeitüberschreitung bei der Verbindung | Eine Netzwerkregel oder NSG an der VM blockiert SSH/RDP aus dem Bastion-Subnet. Prüfe die NSG des Spoke-Subnets (Änderungsanfrage). Möglicherweise muss die Hub-Firewall auch SSH (22) oder RDP (3389) vom Bastion in dein Subnet erlauben. Frag dein Plattform-Team. |
| Anmeldung schlägt fehl | Falsche Zugangsdaten, oder die Plattform unterstützt keine Entra ID Anmeldung für VMs. |
Siehe auch: Einschränkungen, Deinen Spoke nutzen.