Teil 1.1 – Erstellen eines virtuellen Linux-Computers in Azure und Herstellen einer Verbindung mit diesem

Gilt für:   .NET Core 2.1, .NET Core 3.1, .NET 5

Ziel dieses Teils

Dieser Teil der Schulung richtet sich an Benutzer, die keine Linux-Erfahrung haben. Es behandelt die folgenden Themen:

  • So verwenden Sie Windows Azure, um einen virtuellen Linux-Computer zu erstellen.

    Hinweis

    Sie können diesen Schritt überspringen, wenn Sie bereits über einen virtuellen Linux-Computer verfügen, der in der Schulung verwendet werden kann.

  • So stellen Sie eine Verbindung mit einem virtuellen Linux-Computer von einem Windows-basierten Computer her.

  • Verwalten grundlegender Aufgaben, wenn Sie in Linux arbeiten, z. B. Erstellen und Löschen von Dateien und Ordnern, Ausführen von Befehlen als privilegierter Benutzer und Installieren von Anwendungen mithilfe von Paketmanagern.

Um sicherzustellen, dass alle Labore in diesem Leitfaden wie beabsichtigt funktionieren, empfehlen wir, eine Ubuntu 18.04 LTS-Verteilung zu verwenden, da dies die Verteilung ist, die zum Erstellen der Labs verwendet wurde.

Dieser Teil (1.1) enthält die folgenden Schritte:

Wenn Sie mit Linux vertraut sind, möchten Sie diesen Teil möglicherweise vollständig überspringen und direkt zu Teil 1.2 wechseln – Spezielle Linux-Verzeichnisse, Benutzer mit erhöhten Rechten und Paketmanager.

Erstellen eines virtuellen Linux-Computers in Windows Azure

Ihre erste Entscheidung ist die Verteilung von Linux, die Sie verwenden möchten. Es gibt verschiedene Varianten und Verteilungen des Linux-Betriebssystems, die allgemein als "Distributionen" bezeichnet werden. Gemäß diesem Artikel zur Linux-Dokumentation Project gibt es viele Ähnlichkeiten zwischen den verschiedenen Verteilungen. Die in dieser Reihe verwendeten Befehle sind für jede Linux-Distribution nahezu identisch, obwohl sich die Manager des Installationspakets unterscheiden können. Die allgemeinen Anweisungen sind jedoch unabhängig von der verwendeten Distribution identisch.

Hinweis

Wie in virtuellen Linux-Computern in Azureerläutert, unterstützt Microsoft Azure mehrere beliebte Linux-Distributionen, die von unseren Partnern bereitgestellt und verwaltet werden. Auf dem Azure Marketplace finden Sie Distributionen wie Red Hat Enterprise, CentOS, SUSE Linux Enterprise, Ubuntu, CoreOS, YoutubeerOS, FreeBSD und andere.

Die Anweisungen zum Erstellen eines virtuellen Linux-Computers in Azure werden in QuickStart: Erstellen eines virtuellen Linux-Computers im Azure-Portalklar erläutert.

Hinweis

Dieser Artikel enthält auch Anweisungen zum Herstellen einer Verbindung mit dem virtuellen Computer und zum Installieren des Nginx-Webservers. Es ist Ihre Wahl, diese Anweisungen zu befolgen und Nginx zu installieren. Sie müssen dies jedoch noch nicht entscheiden, da die Nginx-Installation und -Konfiguration im nächsten Teil behandelt wird.

In diesem Lernprogramm werden diese Schritte nicht dupliziert, da die Anweisungen klar genug sind. Es ist jedoch wichtig, einige wichtige Punkte zum Erstellen des virtuellen Computers hervorzuheben.

Authentifizierung

Sie können beim Erstellen des virtuellen Computers aus den folgenden Authentifizierungsarten wählen:

  • Verbinden mithilfe eines Kennworts
  • Verbinden mithilfe eines öffentlichen SSH-Schlüssels

Obwohl die Verwendung der Kennwortauthentifizierung im Rahmen dieser Schulung akzeptabel ist, wird empfohlen, dass Sie die SSH-Option für öffentliche Schlüssel verwenden, da sie eine bessere Sicherheit bietet. Außerdem wird diese Option in diesem Handbuch standardmäßig verwendet, wenn Sie eine Verbindung mit einem virtuellen Linux-Computer herstellen.

Azure generiert automatisch ein SSH-Schlüsselpaar für Sie und ermöglicht es Ihnen, es auf dem Datenträger zu speichern, damit Sie es später verwenden können, wenn Sie eine Verbindung mit dem virtuellen Linux-Computer herstellen. Diese Aktion vereinfacht den Verbindungsvorgang.

Wählen Sie den öffentlichen SSH-Schlüssel aus, und generieren Sie neue Schlüsselpaaroptionen, wenn Sie das Administratorkonto erstellen.

Screenshot des Administratorkontos.

Für das Feld Benutzername können Sie den gewünschten Namen unter den Namen auswählen, die Sie beim Erstellen des virtuellen Computers angegeben haben.

Regeln für eingehende Ports

Um die Verbindung mit Dem neu erstellten virtuellen Computer zu ermöglichen, wählen Sie sowohl SSH als auch HTTP für eingehende Portregeln aus. Dies liegt daran, dass Sie das SSH-Protokoll verwenden, um eine Verbindung mit dem virtuellen Computer herzustellen, und Sie verwenden das HTTP-Protokoll, wenn Sie auf die ASP.NET Core Anwendung zugreifen, die unter Linux ausgeführt wird.

Screenshot der Regeln für eingehende Ports.

Speichern des privaten Schlüssels

Da die Option für öffentlichen SSK-Schlüssel ausgewählt ist, wird beim Erstellen des virtuellen Computers die folgende Meldung angezeigt:

Generieren eines neuen Schlüsselpaars

Screenshot des neuen Schlüsselpaars.

Wählen Sie "Privaten Schlüssel herunterladen" aus, und erstellen Sie eine Ressource, und speichern Sie den privaten Schlüssel dann auf Ihrem lokalen Datenträger. Die Erweiterung der Datei ist .pem (Privacy-Enhanced Mail).

Hinweis

Sie verwenden den privaten Schlüssel, um Ihre Tor zu öffnen, wenn Sie eine Verbindung mit dem virtuellen Linux-Computer herstellen. Daher sollten Sie diesen Schlüssel nicht für andere Personen freigeben.

Ermitteln der IP-Adresse

Nachdem der virtuelle Computer erstellt wurde, wechseln Sie zur Ressourcenseite, und ermitteln und notieren Sie die öffentliche IP-Adresse des virtuellen Computers. Sie verwenden diese IP-Adresse, um eine Verbindung mit dem virtuellen Computer herzustellen.

Hinweis

Es wird empfohlen, eine statische IP-Adresse zu verwenden, da Sie den Computer während der Tests möglicherweise neu starten müssen. Die Verwendung einer dynamischen öffentlichen IP führt dazu, dass dem virtuellen Computer nach dem Neustart eine weitere IP-Adresse zugewiesen wird.

Verbinden auf den virtuellen Linux-Computer

Da Sie nun über einen virtuellen Linux-Computer verfügen und die IP-Adresse kennen, verfügen Sie auch über Ihren privaten Schlüssel zur Authentifizierung mithilfe der SSH-Authentifizierung mit öffentlichem Schlüssel, und Sie können sich anmelden. Es ist ein guter Zeitpunkt, einige Terminologie zu besprechen, die beim Herstellen einer Verbindung mit dem virtuellen Linux-Computer auftreten werden.

Sie verwenden keine GUI, um eine Verbindung mit Ihrem virtuellen Linux-Computer herzustellen und diese zu verwalten. Stattdessen verwenden Sie ein Terminal zum Herstellen einer Verbindung und eine Shell zum Ausführen von Befehlen.

Das UNIX-Terminal

Der Begriff "Terminal" basiert auf frühen Computermodellen, die einen ganzen Raum belegten und an einem physischen Terminal über Kartenleser und später Tastaturen gesteuert wurden. Heute ist ein Terminal eine Softwaredarstellung der physischen Terminale. PuTTY ist beispielsweise ein Terminal.

Die UNIX Shell

Die UNIX Shell ist eine Schnittstelle zwischen dem Benutzer und UNIX ähnlichen Betriebssystemen. Ein Benutzer befindet sich in einer Shell, sobald sich dieser Benutzer beim System anmeldet. Die Shell stellt einen Befehlszeilenausblender (CLI) bereit, der Befehle und Skripts zum Steuern des Systems liest und ausführt und dann die resultierende Ausgabe anzeigt.

Die Shell wird auch als "Befehlszeile" oder "Terminal" bezeichnet, und diese Begriffe sind austauschbar. Die Shell bietet einige Befehle und eine Programmiersprache, die Sie zum Schreiben von Skripts verwenden können. Es gibt mehrere verschiedene Shellimplementierungen. einschließlich des beliebten Bash.

In diesem Artikel werden die folgenden Verbindungsoptionen behandelt:

  • Verwenden des PowerShell-SSH-Terminal
  • Verwenden des PuTTy SSH-Terminal

Verbinden mithilfe des PowerShell-SSH-Terminals

Wenn Sie mit Windows 10, Version 1809 oder einer neueren Version ausgeführt werden, können Sie den integrierten PowerShell-SSH-Client verwenden. Um eine Verbindung mit einem virtuellen Computer herzustellen, öffnen Sie PowerShell, und führen Sie einen SSH-Befehl im folgenden Format aus:

ssh -i <path to .pem private key file> <user>@<host>

Zum Beispiel:

ssh -i d:\Learn\Linux\myPrivateKey.pem <UserName>@127.0.0.1

Wenn Sie noch nie eine Verbindung mit diesem Server hergestellt haben, wird die folgende Warnmeldung angezeigt:

Die Authentizität von Host ' <HostName> ' kann nicht hergestellt werden.

Screenshot der Warnmeldung.

Wenn Sie "Ja" eingeben, erhalten Sie die folgende weitere Warnung:

Screenshot der zusätzlichen Warnmeldung.

Im Wesentlichen möchte der SSH-Client, dass der private Schlüssel "privater" ist. Anders ausgedrückt: Auf den privaten Schlüssel, der in der PEM-Datei enthalten ist, können andere Benutzer auf dem Computer, mit dem Sie eine Verbindung herstellen, zugegriffen werden. Es wird erwartet, dass ein privater Schlüssel nur für den Benutzer zugänglich sein sollte, der die Verbindungen mit dem virtuellen Linux-Computer initialisiert.

Um dieses Problem zu beheben, ändern Sie die Berechtigungen für diese private Schlüsseldatei. Gehen Sie dazu wie folgt vor:

  1. Suchen Und klicken Sie mit der rechten Maustaste auf die Datei mit dem privaten Schlüssel, wählen Sie "Eigenschaften" und dann die Registerkarte "Sicherheit" aus. In diesem Beispiel werden die folgenden Berechtigungen angezeigt, die vom Ordner geerbt werden.

    Screenshot der Registerkarte &quot;Sicherheit&quot;.

    In diesem Beispiel möchten Sie, dass nur die SYSTEM-Gruppe und Ihr Konto Zugriff auf diese Datei haben. Da die Berechtigungen vom Ordner geerbt werden, müssen Sie diese Vererbung deaktivieren, bevor Sie die Berechtigungen bearbeiten können. Wählen Sie "Erweitert" und dann "Vererbung deaktivieren" aus. Sie werden von der folgenden Frage aufgefordert:

    Was möchten Sie mit den aktuell geerbten Berechtigungen tun?

    Screenshot der Blockvererbung.

    Wählen Sie geerbte Berechtigungen in explizite Berechtigungen für dieses Objekt konvertieren aus.

  2. Entfernen Sie alle Gruppen außer SYSTEM, und fügen Sie dann Ihr eigenes Konto hinzu. Es folgen die endgültigen Berechtigungen, die für Ihren privaten Schlüssel erteilt werden.

    Screenshot der Registerkarte &quot;Sicherheit&quot; in der pem-Eigenschaft.

  3. Versuchen Sie erneut, eine Verbindung mit demselben SSH-Befehl herzustellen. Dieses Mal sollte die Verbindung fehlerfrei hergestellt werden.

    Screenshot des Befehls &quot;ssh&quot;.

Verbinden mithilfe von PuTTY

PuTTY gehört zu den beliebtesten Terminalen für die Verbindung mit einem virtuellen Linux-Computer. Sie können PuTTY für Windows auf Ihrem Clientcomputer kostenlos herunterladen und installieren.

PuTTY ist einfach zu verwenden. Beachten Sie jedoch, dass PuTTY das PEM-Format für privaten Schlüssel nicht akzeptiert. Daher müssen Sie den Schlüssel in das Format konvertieren, das PuTTY erwartet (PPK). Glücklicherweise ist das Konvertieren des PEM-Formats auch einfach, da der PuTTY-Schlüsselgenerator (PuTTYgen) zusammen mit der Terminalsoftware installiert ist.

Gehen Sie folgendermaßen vor, um Dateien zu konvertieren:

  1. Starten Sie PuTTYgen, und stellen Sie sicher, dass RSA als Typ des zu generierenden Schlüssels ausgewählt ist.

  2. Wählen Sie "Laden" aus, um die Datei mit dem privaten Schlüssel mit der Erweiterung .pem auszuwählen.

    Screenshot des Puttyschlüsselgenerators.

  3. Stellen Sie sicher, dass alle Dateien ausgewählt sind, da die Standardauswahl für PuTTYgen PPK ist.

    Screenshot aller Dateien.

  4. Suchen und öffnen Sie die gewünschte PEM-Datei. Es sollte die folgende Meldung angezeigt werden, die angibt, dass PuTTYgen den Schlüssel importieren konnte. Jetzt können Sie den privaten Schlüssel im PPK-Format speichern.

    Screenshot des Hinweiss im Puttyschlüsselgenerator.

  5. Wählen Sie "OK" und dann "Privaten Schlüssel speichern" aus:

    Screenshot des privaten Schlüssels speichern.

    PuTTYgen fordert Sie auf, zu bestätigen, dass Sie den Schlüssel ohne Passphrase speichern möchten. Wählen Sie "Ja" aus, und speichern Sie den privaten Schlüssel im PPK-Format.

    Jetzt können Sie mithilfe der PPK-Datei eine Verbindung mit dem virtuellen Computer herstellen.

  6. Starten Sie PuTTY. Sie verwenden dasselbe <username> @ <host | IP address> Format für die Verbindungsinformationen. Sie können diese Sitzungsinformationen speichern, um sie später wiederzuverwenden. Der folgende Screenshot zeigt das Dialogfeld PuTTY-Konfiguration, nachdem die aktuelle Sitzung gespeichert wurde. Im Dialogfeld werden die Hostinformationen im Format und der Sitzungsname angezeigt, <username> @ <host | IP address> nachdem sie in der verfügbaren Liste ausgewählt wurden.

    Screenshot der Puttykonfiguration.

  7. Da Sie die SSH-Authentifizierung mit öffentlichem Schlüssel verwenden, müssen Sie PuTTY mitteilen, wo der private Schlüssel gefunden werden soll. Erweitern Sie dazu SSH, und wählen Sie im Kategoriebereich "Authentifizierung" aus, und wählen Sie dann "Durchsuchen" aus.

    Screenshot der Puttykonfiguration für die Auswahl.

  8. Suchen Sie die PPK-Datei, die Sie mithilfe von PuTTYgen erstellt haben, und wählen Sie sie aus.

  9. Wählen Sie "Öffnen" aus, um die Sitzung zu starten.

    Hinweis

    Wenn Sie zum ersten Mal eine Verbindung mit dem virtuellen Computer herstellen, wird die folgende Warnmeldung angezeigt:

    Der Hostschlüssel des Servers wird nicht in der Registrierung zwischengespeichert. Sie können nicht garantieren, dass der Server der Computer ist, den Sie für ihn halten.

    Warnungsfenster der Puttysicherheit.

    Diese Nachricht ähnelt der Nachricht, die beim ersten Herstellen einer Verbindung mit dem virtuellen Computer mithilfe eines SSH-Clients in PowerShell generiert wird.

  10. Wählen Sie "Ja" aus, um eine Verbindung mit dem virtuellen Computer herzustellen.

    Screenshot der Befehlszeile.

Hinweis

Sie verwenden PowerShell SSH, um für die restlichen Lernprogramme eine Verbindung mit Ihrem virtuellen Computer herzustellen.

Nächste Schritte

Teil 1.2 – Grundlegende Vorgänge unter Linux

Informationen zum Haftungsausschluss von Drittanbietern

Die in diesem Artikel genannten Drittanbieterprodukte stammen von Herstellern, die von Microsoft unabhängig sind. Microsoft gewährt keine implizite oder sonstige Garantie in Bezug auf die Leistung oder Zuverlässigkeit dieser Produkte.