Freigeben über


Einführung in FreeBSD in Azure

Gilt für: ✔️ Linux-VMs ✔️ Flexible Skalierungsgruppen

Dieser Artikel enthält einen Überblick über die Ausführung eines virtuellen FreeBSD-Computers (VM) in Azure.

Übersicht

FreeBSD für Azure ist ein erweitertes Computerbetriebssystem, das für moderne Server, Desktops und eingebettete Plattformen verwendet wird.

Die Microsoft stellt Images von FreeBSD unter Azure zur Verfügung, bei denen der Gast-Agent für virtuelle Azure-Computer vorkonfiguriert ist. Derzeit werden die folgenden FreeBSD-Versionen von Microsoft als Image angeboten:

  • FreeBSD 10.4 im Azure Marketplace
  • FreeBSD 11.2 im Azure Marketplace
  • FreeBSD 11.3 im Azure Marketplace
  • FreeBSD 12.0 im Azure Marketplace

Die folgenden FreeBSD-Versionen enthalten auch den Azure VM-Gast-Agent. Sie werden als Bilder von der FreeBSD Foundation angeboten:

  • FreeBSD 11.4 im Azure Marketplace
  • FreeBSD 12.2 im Azure Marketplace
  • FreeBSD 13.0 im Azure Marketplace

Der Agent ist verantwortlich für die Kommunikation zwischen der FreeBSD-VM und Azure Fabric für Vorgänge wie beispielsweise das Bereitstellen der VM für die erste Verwendung (Benutzername, Kennwort oder SSH-Schlüssel und Hostname) und das Aktivieren von Funktionalität für selektive VM-Erweiterungen.

Die Strategie für künftige Versionen von FreeBSD ist, stets aktuell zu bleiben und die neuesten Versionen kurz nach ihrer Veröffentlichung durch das FreeBSD Release Engineering-Team verfügbar zu machen.

Erstellen eines virtuellen FreeBSD-Computers über die Azure CLI auf FreeBSD

Zuerst müssen Sie die Azure CLI über den folgenden Befehl auf einem FreeBSD-Computer installieren:

curl -L https://aka.ms/InstallAzureCli | bash

Wenn Bash nicht auf Ihrem FreeBSD-Computer installiert ist, führen Sie vor der Installation den folgenden Befehl aus:

sudo pkg install bash

Wenn Python nicht auf Ihrem FreeBSD-Computer installiert ist, führen Sie vor der Installation die folgenden Befehle aus:

sudo pkg install python38
cd /usr/local/bin 
sudo rm /usr/local/bin/python 
sudo ln -s /usr/local/bin/python3.8 /usr/local/bin/python

Während der Installation werden Sie zu Folgendem aufgefordert: Modify profile to update your $PATH and enable shell/tab completion now? (Y/n). Wenn Sie y beantworten und /etc/rc.conf als a path to an rc file to update eingeben, wird möglicherweise ERROR: [Errno 13] Permission denied angezeigt. Um dieses Problem zu beheben, sollten Sie dem aktuellen Benutzer Schreibberechtigungen für die Datei etc/rc.conf erteilen.

Nun können Sie sich bei Azure anmelden, und Ihren virtuellen FreeBSD-Computer erstellen. Das folgende Beispiel veranschaulicht das Erstellen einer FreeBSD 11.0 VM-Instanz. Sie können auch den Parameter --public-ip-address-dns-name mit einem global eindeutigen DNS-Namen für eine neu erstellte öffentliche IP-Adresse hinzufügen.

az login 
az group create --name myResourceGroup --location eastus
az vm create --name myFreeBSD11 \
    --resource-group myResourceGroup \
    --image MicrosoftOSTC:FreeBSD:11.0:latest \
    --admin-username azureuser \
    --generate-ssh-keys

Anschließend können Sie sich bei Ihrem virtuellen FreeBSD-Computer über die IP-Adresse anmelden, die in der Ausgabe der oben stehenden Bereitstellung angezeigt wird.

ssh azureuser@xx.xx.xx.xx -i /etc/ssh/ssh_host_rsa_key

VM-Erweiterung für FreeBSD

Die folgenden VM-Erweiterungen werden in FreeBSD unterstützt.

VMAccess

Die Erweiterung VMAccess ermöglicht Folgendes:

  • Zurücksetzen des Kennworts des ursprünglichen Benutzers „sudo“
  • Erstellen eines neuen Benutzers „sudo“ mit angegebenem Kennwort
  • Festlegen des öffentlichen Hostschlüssels mit dem angegebenen Schlüssel
  • Zurücksetzen des öffentlichen Hostschlüssels, der während der VM-Bereitstellung angegeben wurde, wenn kein Hostschlüssel angegeben wird.
  • Öffnen Sie den SSH-Port (22), und stellen Sie die sshd_config wieder her, wenn reset_ssh auf true festgelegt ist.
  • Entfernen des vorhandenen Benutzers
  • Überprüfen der Datenträger
  • Reparieren hinzugefügter Datenträger

CustomScript

Die Erweiterung CustomScript ermöglicht Folgendes:

  • Herunterladen benutzerdefinierter Skripts aus Azure Storage oder einem externen öffentlichen Speicher (z.B. Github), sofern bereitgestellt
  • Ausführen des Skripts für den Einstiegspunkt
  • Unterstützen von Inlinebefehlen
  • Automatisches Konvertieren von Zeilenumbrüchen im Windows-Stil in Shell- und Python-Skripts
  • Automatisches Entfernen der Bytereihenfolge-Marke in Shell- und Python-Skripts
  • Schützen von vertraulichen Daten in CommandToExecute.

Hinweis

FreeBSD VM unterstützt inzwischen nur die CustomScript-Version 1.x.

Authentifizierung: Benutzernamen, Kennwörter und SSH-Schlüssel

Wenn Sie im Azure-Portal einen virtuellen FreeBSD-Computer erstellen, müssen einen Benutzernamen, ein Kennwort oder einen öffentlichen SSH-Schlüssel angeben.

Benutzernamen für die Bereitstellung einer FreeBSD-VM auf Azure dürfen nicht mit den Namen von Systemkonten (UID <100) übereinstimmen, die bereits auf der VM vorhanden sind (z. B. „root“).

Derzeit wird nur der RSA SSH-Schlüssel unterstützt. Mehrzeilige SSH-Schlüssel müssen mit ---- BEGIN SSH2 PUBLIC KEY ---- beginnen und mit ---- END SSH2 PUBLIC KEY ---- enden.

Abrufen von Superuserberechtigungen

Das Benutzerkonto, das während der Bereitstellung der VM-Instanz in Azure angegeben ist, ist ein privilegiertes Konto. Das sudo-Paket wurde im veröffentlichten FreeBSD-Image installiert.

Sobald Sie über dieses Benutzerkonto angemeldet sind, können Sie mit der Befehlssyntax Befehle als „root“ ausführen.

$ sudo <COMMAND>

Optional können Sie über sudo -s eine Root-Shell abrufen.

Bekannte Probleme

Version 2.2.2 des Azure VM-Gast-Agents weist ein bekanntes Problem auf, das die Bereitstellung der FreeBSD-VM in Azure verhindert. Die Korrektur wurde mit dem Gast-Agent für virtuelle Azure-Computer ab Version 2.2.3 zur Verfügung gestellt.