Introduzione a FreeBSD in Azure
Si applica a: ✔️ macchine virtuali di Linux ✔️ set di scalabilità flessibili
Questo articolo offre una panoramica dell'esecuzione di una macchina virtuale (VM) FreeBSD in Azure.
Panoramica
FreeBSD per Azure è un avanzato sistema operativo impiegato per potenziare moderne piattaforme incorporate, server e desktop.
Microsoft sta creando immagini di FreeBSD disponibili in Azure con l'agente guest della macchina virtuale di Azure preconfigurato. Attualmente, sono disponibili come immagini le seguenti versioni di FreeBSD:
- FreeBSD 10.4 in Azure Marketplace
- FreeBSD 11.2 in Azure Marketplace
- FreeBSD 11.3 in Azure Marketplace
- FreeBSD 12.0 in Azure Marketplace
Le versioni freeBSD seguenti includono anche l'agente guest della macchina virtuale di Azure. Vengono offerte come immagini dalla FreeBSD Foundation:
- FreeBSD 11.4 in Azure Marketplace
- FreeBSD 12.2 in Azure Marketplace
- FreeBSD 13.0 in Azure Marketplace
L'agente è responsabile della comunicazione tra la VM FreeBSD e l'infrastruttura di Azure per operazioni quali il provisioning della VM al primo uso (nome utente, password o chiave SSH e nome host) e l'abilitazione di funzionalità per estensioni di VM selettive.
Per quanto riguarda le versioni future di FreeBSD, la strategia consiste nel rimanere aggiornati e rendere disponibili le versioni più recenti subito dopo la pubblicazione da parte del team di progettazione di FreeBSD.
Creare una VM FreeBSD tramite l'interfaccia della riga di comando di Azure su FreeBSD
Prima di tutto, è necessario installare l'interfaccia della riga di comando di Azure tramite il comando seguente in un computer FreeBSD:
curl -L https://aka.ms/InstallAzureCli | bash
Se bash non è installato nel computer FreeBSD, eseguire il seguente comando prima dell'installazione:
sudo pkg install bash
Se Python non è installato nel computer FreeBSD, eseguire i seguenti comandi prima dell'installazione:
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
Durante l'installazione, viene visualizzata la seguente richiesta: Modify profile to update your $PATH and enable shell/tab completion now? (Y/n)
. Se si risponde y
e si immette /etc/rc.conf
come a path to an rc file to update
, è possibile che venga visualizzato ERROR: [Errno 13] Permission denied
. Per risolvere questo problema assegnare le autorizzazioni di scrittura all'utente corrente per il file etc/rc.conf
.
A questo punto è possibile accedere ad Azure e creare la VM FreeBSD. L'esempio seguente illustra come creare una macchina virtuale FreeBSD 11.0. È anche possibile aggiungere il parametro --public-ip-address-dns-name
con un nome DNS univoco globale per un indirizzo IP pubblico appena creato.
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
Quindi è possibile accedere alla VM FreeBSD mediante l'indirizzo IP visualizzato nell'output della distribuzione mostrata in precedenza.
ssh azureuser@xx.xx.xx.xx -i /etc/ssh/ssh_host_rsa_key
Estensioni di VM per FreeBSD
Le estensioni di macchina virtuale seguenti sono supportate in FreeBSD.
VMAccess
Con l'estensione VMAccess è possibile:
- Reimpostare la password dell'utente sudo originale.
- Creare un nuovo utente sudo con la password specificata.
- Impostare la chiave host pubblica con la chiave specificata.
- Reimpostare la chiave host pubblica specificata durante il provisioning di VM se non è stata indicata la chiave host.
- Aprire la porta SSH (22) e ripristinare
sshd_config
sereset_ssh
è impostato sutrue
. - Rimozione dell'utente esistente.
- Controllare i dischi.
- Riparare un disco aggiunto.
CustomScript
Con l'estensione CustomScript è possibile:
- Se disponibili, scaricare gli script personalizzati dall'archivio di Azure o dall'archivio pubblico esterno, ad esempio GitHub.
- Eseguire lo script di punto di ingresso.
- Supportare comandi inline.
- Convertire automaticamente la nuova riga stile Windows in script della shell e Python.
- Rimuovere automaticamente un carattere BOM negli script della shell e Python.
- Proteggere i dati sensibili in
CommandToExecute
.
Nota
FreeBSD VM supporta solo CustomScript versione 1. x per adesso.
Autenticazione: nomi utente, password e chiavi SSH
Quando si crea una VM FreeBSD usando il portale di Azure, è necessario immettere un nome utente, una password o una chiave pubblica SSH.
I nomi utente per la distribuzione di una macchina virtuale FreeBSD in Azure non devono corrispondere ai nomi degli account di sistema (UID <100) già presenti nella macchina virtuale ("radice", ad esempio).
È attualmente supportata solo la chiave RSA SSH. Una chiave SSH su più righe deve iniziare con ---- BEGIN SSH2 PUBLIC KEY ----
e terminare con ---- END SSH2 PUBLIC KEY ----
.
Ottenere privilegi utente con privilegi avanzati
L'account utente specificato durante la distribuzione di istanze di macchine virtuali in Azure è un account con privilegi. Il pacchetto di sudo è stato installato nell'immagine FreeBSD pubblicata.
Dopo aver eseguito l'accesso usando questo account utente, è possibile eseguire comandi come utente ROOT usando la sintassi del comando.
$ sudo <COMMAND>
Facoltativamente, è possibile ottenere una shell radice usando sudo -s
.
Problemi noti
L'agente guest per macchine virtuali di Azure versione 2.2.2 presenta un problema noto, che provoca un errore di provisioning per la macchina virtuale FreeBSD in Azure. La correzione è stata acquisita da Agente guest di macchine virtuali di Azure versione 2.2.3 e successive.
Contenuto correlato
- Passare ad Azure Marketplace per creare una VM FreeBSD.