Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Note
CentOS a cui si fa riferimento in questo articolo è una distribuzione Linux e raggiungerà End Of Life (EOL). Valutare le proprie esigenze e pianificare di conseguenza. Per altre informazioni, vedere Indicazioni sulla fine della vita di CentOS.
Si applica a: .NET Core 2.1, .NET Core 3.1, .NET 5
Obiettivo di questa parte
Questa parte del training è destinata agli utenti che non hanno esperienza linux. Include gli argomenti seguenti:
Come usare Windows Azure per creare una macchina virtuale Linux.
Note
È possibile ignorare questo passaggio se si dispone già di una macchina virtuale Linux da usare nel training.
Come connettersi a una macchina virtuale Linux da un computer basato su Windows.
Come gestire le attività di base quando si lavora in Linux, ad esempio la creazione e l'eliminazione di file e cartelle, l'esecuzione di comandi come utente con privilegi e l'installazione di applicazioni tramite gestioni pacchetti.
Per assicurarsi che tutti i lab di questa guida funzionino come previsto, è consigliabile usare una distribuzione Ubuntu 18.04 LTS perché si tratta della distribuzione usata per creare i lab.
Questa parte (1.1) contiene i passaggi seguenti:
Se si ha familiarità con Linux, è possibile ignorare completamente questa parte e passare direttamente alla parte 1.2 - Directory speciali di Linux, utenti con privilegi elevati e gestori pacchetti.
Creare una macchina virtuale Linux in Windows Azure
La prima decisione è la distribuzione di Linux che si vuole usare. Esistono diverse versioni e distribuzioni del sistema operativo Linux, comunemente denominate "distribuzioni". In base a questo articolo del progetto di documentazione di Linux, esistono molte analogie tra le diverse distribuzioni. I comandi usati in questa serie sono quasi gli stessi per ogni distribuzione di Linux, anche se le gestioni pacchetti di installazione possono differire. Tuttavia, le istruzioni generali saranno uguali indipendentemente dalla distribuzione usata.
Note
Come spiegato in Macchine virtuali Linux in Azure, Microsoft supporto tecnico di Azure diverse distribuzioni Linux comuni fornite e gestite dai partner. È possibile trovare distribuzioni come Red Hat Enterprise, CentOS, SUSE Linux Enterprise, Debian, Ubuntu, CoreOS, RancherOS, FreeBSD e altre in Azure Marketplace.
Le istruzioni per creare una macchina virtuale Linux in Azure sono illustrate in Avvio rapido: Creare una macchina virtuale Linux nel portale di Azure.
Note
Questo articolo include anche istruzioni per connettersi alla macchina virtuale e installare il server Web Nginx. È possibile seguire queste istruzioni e installare Nginx. Tuttavia, non è necessario decidere che solo perché l'installazione e la configurazione di Nginx sono descritte nella parte successiva.
Questa esercitazione non duplica questi passaggi perché le istruzioni sono sufficientemente chiare. Tuttavia, è importante evidenziare alcuni punti chiave su come creare la macchina virtuale.
Autenticazione
È possibile scegliere tra i tipi di autenticazione seguenti quando si crea la macchina virtuale:
- Connettersi usando una password
- Connettersi usando una chiave pubblica SSH
Anche se l'uso dell'autenticazione password è accettabile nel contesto di questo training, è consigliabile usare l'opzione Chiave pubblica SSH perché offre una maggiore sicurezza. Questa guida usa anche questa opzione per impostazione predefinita quando ci si connette a una macchina virtuale Linux.
Azure genera automaticamente una coppia di chiavi SSH e consente di salvarla su disco in modo da poterla usare in un secondo momento quando ci si connette alla macchina virtuale Linux. Questa azione semplifica il processo di connessione.
Selezionare la chiave pubblica SSH e Generare nuove opzioni di coppia di chiavi quando si crea l'account amministratore.
Per il campo Nome utente è possibile scegliere il nome desiderato tra i nomi specificati al momento della creazione della macchina virtuale.
Regole porta in ingresso
Per abilitare la connettività alla macchina virtuale appena creata, selezionare SIA SSH che HTTP per le regole delle porte in ingresso. Questo perché si userà il protocollo SSH per connettersi alla macchina virtuale e si userà il protocollo HTTP quando si accede all'applicazione ASP.NET Core in esecuzione in Linux.
Salvare la chiave privata
Poiché l'opzione chiave pubblica SSK è selezionata, quando si crea la macchina virtuale verrà visualizzato il messaggio seguente:
Generare una nuova coppia di chiavi
Selezionare Scarica chiave privata e crea risorsa e quindi salvare la chiave privata nel disco locale. L'estensione del file è con estensione pem (Privacy-Enhanced Mail).
Note
La chiave privata viene usata per aprire la porta quando ci si connette alla macchina virtuale Linux. Pertanto, non è consigliabile condividere questa chiave con altre persone.
Determinare l'indirizzo IP
Dopo aver creato la macchina virtuale, passare alla pagina della risorsa e determinare e prendere nota dell'indirizzo IP pubblico della macchina virtuale. Questo indirizzo IP verrà usato per connettersi alla macchina virtuale.
Note
È consigliabile usare un indirizzo IP statico perché potrebbe essere necessario riavviare il computer durante i test. L'uso di un indirizzo IP pubblico dinamico causerà l'allocazione di un altro indirizzo IP alla macchina virtuale dopo il riavvio.
Connettersi alla macchina virtuale Linux
Ora che si dispone di una macchina virtuale Linux e si conosce il relativo indirizzo IP, è anche disponibile la chiave privata per l'autenticazione usando l'autenticazione con chiave pubblica SSH ed è possibile eseguire l'accesso. È consigliabile discutere alcune terminologie che verranno visualizzate quando ci si connette alla macchina virtuale Linux.
Non si userà un'interfaccia utente grafica per connettersi e gestire la macchina virtuale Linux. Si userà invece un terminale per connettersi e una shell per eseguire i comandi.
Terminale UNIX
Il termine "terminale" si basa su modelli di computer iniziali che occupavano un'intera stanza e sono stati controllati in un terminale fisico tramite lettori di schede di punzona e, successivamente, tastiere. Oggi, un terminale è una rappresentazione software dei terminali fisici. PuTTY, ad esempio, è un terminale.
Shell UNIX
La shell UNIX è un'interfaccia tra sistemi operativi simili a UNIX e utente. Un utente si trova in una shell non appena l'utente accede al sistema. La shell fornisce un interprete della riga di comando (CLI) che legge ed esegue comandi e script per controllare il sistema e quindi visualizza l'output risultante.
La shell è detta anche "riga di comando" o "terminale" e questi termini sono intercambiabili. La shell fornisce alcuni comandi e un linguaggio di programmazione che è possibile usare per scrivere script. Esistono diverse implementazioni della shell. incluso il popolare Bash.
Questo articolo illustra le opzioni di connessione seguenti:
- Uso del terminale SSH di PowerShell
- Uso del terminale SSH PuTTy
Connettersi usando il terminale SSH di PowerShell
Se è in esecuzione in Windows 10 versione 1809 o successiva, è possibile usare il client SSH PowerShell predefinito. Per connettersi a una macchina virtuale, aprire PowerShell ed eseguire un comando SSH nel formato seguente:
ssh -i <path to .pem private key file> <user>@<host>
Ad esempio:
ssh -i d:\Learn\Linux\myPrivateKey.pem <UserName>@127.0.0.1
Se non si è mai connessi a questo server in precedenza, viene visualizzato il seguente messaggio di avviso:
Non è possibile stabilire l'autenticità dell'host '<HostName>'.
Se si immette sì, viene visualizzato l'avviso seguente:
Essenzialmente, il client SSH vuole che la chiave privata sia "più privata". In altre parole, la chiave privata contenuta nel file pem è accessibile ad altri utenti nel computer a cui ci si connette. Si prevede che una chiave privata sia accessibile solo all'utente che inizializzerà le connessioni alla macchina virtuale Linux.
Per risolvere il problema, modificare le autorizzazioni per il file di chiave privata. A tale scopo, effettuare i passaggi seguenti:
Individuare e fare clic con il pulsante destro del mouse sul file di chiave privata, selezionare Proprietà e quindi selezionare la scheda Sicurezza . In questo esempio vengono visualizzate le autorizzazioni seguenti ereditate dalla cartella .
Per questo esempio, si vuole che solo il gruppo SYSTEM e l'account abbiano accesso a questo file. Poiché le autorizzazioni vengono ereditate dalla cartella, è necessario disabilitare l'ereditarietà prima di poter modificare le autorizzazioni. Selezionare Avanzate e quindi disabilitare l'ereditarietà. Viene visualizzata la domanda seguente:
Cosa si vuole fare con le autorizzazioni ereditate correnti?
Selezionare Converti autorizzazioni ereditate in autorizzazioni esplicite per questo oggetto.
Rimuovere tutti i gruppi ma SYSTEM e quindi aggiungere il proprio account. Di seguito sono riportate le autorizzazioni finali concesse per la chiave privata.
Riprovare a connettersi usando lo stesso comando SSH. Questa volta, la connessione deve essere stabilita senza errori.
Connettersi con PuTTY
PuTTY è tra i terminali più diffusi per la connessione a una macchina virtuale Linux. È possibile scaricare e installare liberamente PuTTY per Windows nel computer client.
PuTTY è facile da usare. Tenere tuttavia presente che PuTTY non accetta il formato PEM per la chiave privata. Pertanto, è necessario convertire la chiave nel formato previsto da PuTTY (PPK). Fortunatamente, la conversione del formato PEM è anche facile perché puTTY Key Generator (PuTTYgen) è installato insieme al software del terminale.
Per convertire i file, seguire questa procedura:
Avviare PuTTYgen e assicurarsi che RSA sia selezionato come tipo di chiave da generare.
Selezionare Carica per selezionare il file di chiave privata con estensione pem.
Assicurarsi che l'opzione Tutti i file sia selezionata perché la selezione predefinita per PuTTYgen è PPK.
Individuare e aprire il file PEM desiderato. Verrà visualizzato il messaggio seguente che indica che PuTTYgen è stato in grado di importare la chiave. È ora possibile salvare la chiave privata in formato PPK.
Selezionare OK e quindi salva chiave privata:
PuTTYgen chiederà di confermare che si vuole salvare la chiave senza una passphrase. Selezionare Sì e salvare la chiave privata in formato PPK.
A questo momento, è possibile connettersi alla macchina virtuale usando il file PPK.
Avviare PuTTY. Si userà lo stesso <nome utente>@<host | Formato dell'indirizzo> IP per le informazioni di connessione. È possibile salvare queste informazioni sulla sessione per riutilizzare in un secondo momento. Lo screenshot seguente mostra la finestra di dialogo Configurazione PuTTY dopo il salvataggio della sessione corrente. La finestra di dialogo mostra le informazioni sull'host in <username>@<host | Formato dell'indirizzo> IP e nome della sessione dopo che è stato selezionato nell'elenco disponibile.
Poiché si usa l'autenticazione con chiave pubblica SSH, è necessario indicare a PuTTY dove trovare la chiave privata. A tale scopo, espandere SSH e selezionare Autenticazione nel riquadro Categoria e quindi selezionare Sfoglia.
Individuare e selezionare il file PPK creato usando PuTTYgen.
Selezionare Apri per avviare la sessione.
Note
Quando ci si connette per la prima volta alla macchina virtuale, viene visualizzato il messaggio di avviso seguente:
La chiave host del server non viene memorizzata nella cache nel Registro di sistema. Non si ha alcuna garanzia che il server sia il computer che si ritiene sia.
Questo messaggio è simile al messaggio generato la prima volta che ci si connette alla macchina virtuale usando un client SSH in PowerShell.
Selezionare Sì per connettersi alla macchina virtuale.
Note
Si userà SSH di PowerShell per connettersi alla macchina virtuale per il resto di queste esercitazioni.
Passaggi successivi
Parte 1.2 - Operazioni di base in Linux
Dichiarazione di non responsabilità sulle informazioni di terze parti
I prodotti di terzi citati in questo articolo sono prodotti da società indipendenti da Microsoft. Microsoft non rilascia alcuna garanzia implicita o esplicita relativa alle prestazioni o all'affidabilità di tali prodotti