Herstellen einer Verbindung mit einem virtuellen Linux-Computer

Beim Hosten einer Linux-VM in Azure ist die gängigste Methode für den Zugriff auf diese VM das Secure Shell-Protokoll (SSH). Die Verbindung ist über jeden SSH-Standardclient unter Linux und Windows möglich. Sie können auch Azure Cloud Shell über einen beliebigen Browser verwenden.

In diesem Dokument wird beschrieben, wie Sie über SSH eine Verbindung mit einer VM herstellen, die über eine öffentliche IP-Adresse verfügt. Wenn Sie eine Verbindung mit einer VM ohne öffentliche IP-Adresse herstellen müssen, finden Sie entsprechende Informationen unter Azure Bastion-Dienst.

Voraussetzungen

  • Sie benötigen ein SSH-Schlüsselpaar. Wenn Sie noch nicht über ein Schlüsselpaar verfügen, erstellt Azure eines während der Bereitstellung. Wenn Sie Hilfe beim manuellen Erstellen eines solchen Schlüssels benötigen, lesen Sie den Abschnitt Erstellen und Verwenden eines SSH-Schlüsselpaars (öffentlich und privat) für virtuelle Linux-Computer in Azure.

  • Sie benötigen eine vorhandene Netzwerksicherheitsgruppe (NSG). Die meisten VMs verfügen standardmäßig über eine NSG, aber wenn Sie noch keine haben, können Sie eine erstellen und manuell anfügen. Weitere Informationen finden Sie unter Erstellen, Ändern oder Löschen einer Netzwerksicherheitsgruppe.

  • Zum Herstellen einer Verbindung mit einer Linux-VM muss der entsprechende Port geöffnet sein. In der Regel verwendet SSH Port 22. In den folgenden Anweisungen wird von Port 22 ausgegangen, aber der Vorgang ist für andere Portnummern derselbe. Sie können mithilfe der Problembehandlung überprüfen, ob ein geeigneter Port für SSH geöffnet ist, oder Sie überprüfen dies manuell in den Einstellungen Ihrer VM. So überprüfen Sie, ob Port 22 geöffnet ist:

    1. Wählen Sie auf der Seite für den virtuellen Computer Netzwerk aus dem linken Menü aus.

    2. Überprüfen Sie auf der Seite Netzwerk, ob es eine Regel gibt, die TCP an Port 22 über die IP-Adresse des Computers zulässt, den Sie zum Herstellen einer Verbindung mit der VM verwenden. Wenn die Regel vorhanden ist, können Sie zum nächsten Abschnitt wechseln.

      Screenshot showing how to check to see if there's already a rule allowing S S H connections.

    3. Wenn keine Regel vorhanden ist, fügen Sie eine hinzu, indem Sie Regel für eingehenden Port hinzufügen auswählen.

    4. Wählen Sie für Dienst im Dropdownmenü SSH aus.

      Screenshot showing where to choose S S H when creating a new N S G rule.

    5. Bearbeiten Sie Priorität und Quelle bei Bedarf.

    6. Geben Sie für Name entsprechend SSH ein.

    7. Wenn Sie fertig sind, wählen Sie Hinzufügen aus.

    8. Sie sollten nun über eine SSH-Regel in der Tabelle der Regeln für eingehende Ports verfügen.

  • Ihre VM muss über eine öffentliche IP-Adresse verfügen. Um zu überprüfen, ob Ihre VM über eine öffentliche IP-Adresse verfügt, wählen Sie Übersicht im linken Menü aus und schauen sich den Abschnitt Netzwerk an. Wenn neben Öffentliche IP-Adresse eine IP-Adresse angezeigt wird, verfügt Ihre VM über eine öffentliche IP-Adresse.

    Wenn Ihre VM nicht über eine öffentliche IP-Adresse verfügt, wird Folgendes angezeigt:

    Screenshot of how the networking section looks when you don't have a public I P.

    Weitere Informationen zum Hinzufügen einer öffentlichen IP-Adresse zu einer vorhandenen VM finden Sie unter Zuordnen einer öffentlichen IP-Adresse zu einem virtuellen Computer.

  • Überprüfen Sie, ob Ihre VM ausgeführt wird. Überprüfen Sie auf der Registerkarte „Übersicht“ im Abschnitt Essentials, dass der Status des virtuellen Computers Wird ausgeführt lautet. Um die VM zu starten, wählen Sie oben auf der Seite Start aus.

    Screenshot showing how to check to make sure your virtual machine is in the running state.

Wenn Sie Probleme beim Herstellen einer Verbindung haben, können Sie auch das Portal verwenden:

  1. Öffnen Sie das Azure-Portal, um eine Verbindung mit einem virtuellen Computer herzustellen. Suchen Sie nach Virtuelle Computer, und wählen Sie diese Option aus.
  2. Wählen Sie den gewünschten virtuellen Computer aus der Liste aus.
  3. Wählen Sie im linken Menü Verbinden aus.
  4. Wählen Sie die Option aus, die zu Ihrer bevorzugten Verbindungsart passt. Das Portal hilft Ihnen dabei, die Voraussetzungen für die Verbindung zu erfüllen.

Herstellen der Verbindung zur VM

Sobald die oben genannten Voraussetzungen erfüllt sind, sind Sie bereit, eine Verbindung mit Ihrem virtuellen Computer herzustellen. Öffnen Sie den SSH-Client Ihrer Wahl. Der SSH-Clientbefehl ist in der Regel in Linux, macOS und Windows enthalten. Wenn Sie Windows 7 oder früher verwenden, ist Win32 OpenSSH nicht standardmäßig enthalten, und Sie sollten die Installation von WSL oder die Verwendung von Azure Cloud Shell über den Browser in Betracht ziehen.

Hinweis

In den folgenden Beispielen wird angenommen, dass der SSH-Schlüssel im key.pem-Format vorliegt. Wenn Sie die CLI oder Azure PowerShell zum Herunterladen Ihrer Schlüssel verwendet haben, befinden sie sich möglicherweise im id_rsa-Format.

SSH mit neuem Schlüsselpaar

  1. Stellen Sie sicher, dass sich Ihre öffentlichen und privaten Schlüssel im richtigen Verzeichnis befinden. Das Verzeichnis ist normalerweise ~/.ssh.

    Wenn Sie Schlüssel manuell oder mit der CLI generiert haben, befinden sich die Schlüssel wahrscheinlich bereits in diesem Verzeichnis. Wenn Sie sie jedoch im pem-Format vom Azure-Portal heruntergeladen haben, müssen Sie sie möglicherweise an die richtige Position verschieben. Das Verschieben der Schlüssel erfolgt mithilfe der folgenden Syntax: mv PRIVATE_KEY_SOURCE PRIVATE_KEY_DESTINATION

    Wenn sich der Schlüssel beispielsweise im Ordner Downloads befindet und myKey.pem der Name Ihres SSH-Schlüssels ist, geben Sie Folgendes ein:

    mv /Downloads/myKey.pem ~/.ssh
    

    Hinweis

    Wenn Sie WSL verwenden, befinden sich lokale Dateien im Verzeichnis mnt/c/. Entsprechend lautet dann der Pfad zum Downloadordner und dem SSH-Schlüssel /mnt/c/Users/{USERNAME}/Downloads/myKey.pem.

  2. Vergewissern Sie sich, dass Sie über Lesezugriff für den privaten Schlüssel verfügen, indem Sie Folgendes ausführen.

    chmod 400 ~/.ssh/myKey.pem
    
  3. Führen Sie den SSH-Befehl mit der folgenden Syntax aus: ssh -i PATH_TO_PRIVATE_KEY USERNAME@EXTERNAL_IP.

    Wenn Ihr azureuser z. B. der Benutzername ist, der von Ihnen erstellt wurde, und 20.51.230.13 die öffentliche IP-Adresse Ihrer VM darstellt, geben Sie Folgendes ein:

    ssh -i ~/.ssh/myKey.pem azureuser@20.51.230.13
    
  4. Überprüfen Sie den zurückgegebenen Fingerabdruck.

    Wenn Sie noch keine Verbindung mit dieser VM hergestellt haben, werden Sie aufgefordert, den Fingerabdruck des Hosts zu überprüfen. Es ist verlockend, den vorgelegten Fingerabdruck zu akzeptieren, doch damit setzen Sie sich einem potenziellen „Person-in-the-Middle“-Angriff aus. Sie sollten den Fingerabdruck des Hosts immer überprüfen. Dies ist nur erforderlich, wenn Sie zum ersten Mal eine Verbindung von einem Client aus herstellen. Zum Abrufen des Hostfingerabdrucks über das Portal verwenden Sie das Feature für die Skriptausführung zum Ausführen des Befehls:

    ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
    
  5. Erfolg! Sie sollten jetzt mit Ihrer VM verbunden sein. Wenn Sie keine Verbindung herstellen können, finden Sie Informationen unter Problembehandlung für SSH-Verbindungen.

SSH mit vorhandenem öffentlichen Schlüssel

  1. Führen Sie in Ihrem SSH-Client den folgenden Befehl aus: In diesem Beispiel ist 20.51.230.13 die öffentliche IP-Adresse Ihrer VM und azureuser der Benutzername, den Sie beim Erstellen der VM erstellt haben.

    ssh azureuser@20.51.230.13
    
  2. Überprüfen Sie den zurückgegebenen Fingerabdruck.

    Wenn Sie noch nie über Ihren aktuellen SSH-Client eine Verbindung mit der gewünschten VM hergestellt haben, werden Sie aufgefordert, den Fingerabdruck des Hosts zu überprüfen. Wenn der angezeigte Fingerabdruck standardmäßig akzeptiert wird, sind Sie einem möglichen „Person in the Middle-Angriff“ ausgesetzt. Sie sollten immer den Fingerabdruck des Hosts überprüfen. Dies ist nur bei der ersten Verbindung Ihres Clients erforderlich. Verwenden Sie das Feature für die Skriptausführung zum Ausführen des folgenden Befehls, um den Hostfingerabdruck über das Portal abzurufen:

    ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
    
  3. Erfolg! Sie sollten jetzt mit Ihrer VM verbunden sein. Wenn Sie keine Verbindung herstellen können, finden Sie Informationen in unserem Leitfaden zur Problembehandlung.

Kennwortauthentifizierung

Warnung

Diese Art von Authentifizierungsmethode ist nicht so sicher wie ein SSH-Schlüsselpaar und wird nicht empfohlen.

  1. Führen Sie in Ihrem SSH-Client den folgenden Befehl aus: In diesem Beispiel ist 20.51.230.13 die öffentliche IP-Adresse Ihrer VM und azureuser der Benutzername, den Sie beim Erstellen der VM erstellt haben.

    ssh azureuser@20.51.230.13
    

    Wenn Sie Ihr Kennwort oder Ihren Benutzernamen vergessen haben, finden Sie Informationen unter Zurücksetzen des Zugriffs auf eine Azure-VM.

  2. Überprüfen Sie den zurückgegebenen Fingerabdruck.

    Wenn Sie noch nie über Ihren aktuellen SSH-Client eine Verbindung mit der gewünschten VM hergestellt haben, werden Sie aufgefordert, den Fingerabdruck des Hosts zu überprüfen. Wenn der angezeigte Fingerabdruck standardmäßig akzeptiert wird, sind Sie einem möglichen „Person in the Middle-Angriff“ ausgesetzt. Sie sollten immer den Fingerabdruck des Hosts überprüfen. Dies ist nur bei der ersten Verbindung Ihres Clients erforderlich. Verwenden Sie das Feature für die Skriptausführung zum Ausführen des folgenden Befehls, um den Hostfingerabdruck über das Portal abzurufen:

    ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
    
  3. Erfolg! Sie sollten jetzt mit Ihrer VM verbunden sein. Wenn Sie keine Verbindung herstellen können, finden Sie Informationen unter Problembehandlung für SSH-Verbindungen.

Nächste Schritte

Informationen dazu, wie Sie Dateien in eine vorhandene VM übertragen, finden Sie unter Verwenden von SCP zum Verschieben von Dateien auf einen und von einem virtuellen Computer.