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, wennreset_ssh
auftrue
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.
Zugehöriger Inhalt
- Wechseln Sie zum Azure Marketplace , um eine FreeBSD-VM zu erstellen.