Connect to a Linux VM (Connettersi a una macchina virtuale Linux)
Quando si ospita una macchina virtuale Linux in Azure, il metodo più comune per accedere a tale macchina virtuale è tramite secure shell Protocol (SSH). Qualsiasi client SSH standard comunemente disponibile in Linux e Windows consente di connettersi. È anche possibile usare Azure Cloud Shell da qualsiasi browser.
Questo documento descrive come connettersi, tramite SSH, a una macchina virtuale con un indirizzo IP pubblico. Se è necessario connettersi a una macchina virtuale senza un indirizzo IP pubblico, vedere Servizio Azure Bastion.
Prerequisiti
È necessaria una coppia di chiavi SSH. Se non è già disponibile, Azure crea una coppia di chiavi durante il processo di distribuzione. Per informazioni sulla creazione manuale, vedere Creare e usare una coppia di chiavi SSH pubblica-privata per le macchine virtuali Linux in Azure.
È necessario un gruppo di sicurezza di rete esistente. La maggior parte delle macchine virtuali ha un gruppo di sicurezza di rete per impostazione predefinita, ma se non è già disponibile, è possibile crearne una e collegarla manualmente. Per altre informazioni, vedere Creare, modificare o eliminare un gruppo di sicurezza di rete.
Per connettersi a una macchina virtuale Linux, è necessaria la porta appropriata aperta. In genere SSH usa la porta 22. Le istruzioni seguenti presuppongono la porta 22, ma il processo è lo stesso per altri numeri di porta. È possibile verificare che una porta appropriata sia aperta per SSH usando lo strumento di risoluzione dei problemi o controllando manualmente le impostazioni della macchina virtuale. Per verificare se la porta 22 è aperta:
Nella pagina della macchina virtuale selezionare Rete dal menu a sinistra.
Nella pagina Rete verificare se è presente una regola che consente TCP sulla porta 22 dall'indirizzo IP del computer in uso per connettersi alla macchina virtuale. Se la regola esiste, è possibile passare alla sezione successiva.
Se non esiste una regola, aggiungerne una selezionando Aggiungi regola porta in ingresso.
Per Servizio selezionare SSH dall'elenco a discesa.
Modifica priorità e origine , se necessario
In Nome digitare SSH.
Al termine, selezionare Aggiungi.
Dovrebbe ora essere presente una regola SSH nella tabella delle regole delle porte in ingresso.
La macchina virtuale deve avere un indirizzo IP pubblico. Per verificare se la macchina virtuale ha un indirizzo IP pubblico, selezionare Panoramica dal menu a sinistra e osservare la sezione Rete . Se viene visualizzato un indirizzo IP accanto all'indirizzo IP pubblico, la macchina virtuale ha un indirizzo IP pubblico
Se la macchina virtuale non ha un indirizzo IP pubblico, l'aspetto sarà il seguente:
Per altre informazioni sull'aggiunta di un indirizzo IP pubblico a una macchina virtuale esistente, vedere Associare un indirizzo IP pubblico a una macchina virtuale
Verificare che la macchina virtuale sia in esecuzione. Nella sezione Informazioni di base della scheda Panoramica verificare lo stato della macchina virtuale in esecuzione. Per avviare la macchina virtuale, selezionare Avvia nella parte superiore della pagina.
In caso di problemi di connessione, è anche possibile usare il portale:
- Passare al portale di Azure per connettersi a una macchina virtuale. Cercare e selezionare Macchine virtuali.
- Selezionare la macchina virtuale dall'elenco.
- Selezionare Connetti dal menu a sinistra.
- Selezionare l'opzione più adatta al modo preferito di connettersi. Il portale consente di esaminare i prerequisiti per la connessione.
Connettersi alla macchina virtuale
Dopo aver soddisfatto i prerequisiti precedenti, si è pronti per connettersi alla macchina virtuale. Aprire il client SSH preferito. Il comando client SSH è in genere incluso in Linux, macOS e Windows. Se si usa Windows 7 o versione precedente, in cui OpenSSH Win32 non è incluso per impostazione predefinita, è consigliabile installare WSL o usare Azure Cloud Shell dal browser.
Nota
Gli esempi seguenti presuppongono che la chiave SSH sia nel formato key.pem. Se è stata usata l'interfaccia della riga di comando o Azure PowerShell per scaricare le chiavi, è possibile che si trovino nel formato id_rsa o ED25519.
SSH con una nuova coppia di chiavi
Verificare che le chiavi pubbliche e private siano nella directory corretta. La directory è in genere
~/.ssh
.Se le chiavi sono state generate manualmente o generate con l'interfaccia della riga di comando, è probabile che le chiavi siano già presenti. Tuttavia, se sono stati scaricati in formato pem dal portale di Azure, potrebbe essere necessario spostarli nella posizione corretta. Lo spostamento delle chiavi viene eseguito con la sintassi seguente:
mv PRIVATE_KEY_SOURCE PRIVATE_KEY_DESTINATION
Ad esempio, se la chiave si trova nella
Downloads
cartella emyKey.pem
è il nome della chiave SSH, digitare:mv /Downloads/myKey.pem ~/.ssh
Nota
Se si usa WSL, i file locali vengono trovati nella
mnt/c/
directory . Di conseguenza, il percorso della cartella downloads e della chiave SSH sarebbe/mnt/c/Users/{USERNAME}/Downloads/myKey.pem
Assicurarsi di avere accesso in sola lettura alla chiave privata eseguendo
chmod 400 ~/.ssh/myKey.pem
Eseguire il comando SSH con la sintassi seguente:
ssh -i PATH_TO_PRIVATE_KEY USERNAME@EXTERNAL_IP
Ad esempio, se si
azureuser
tratta del nome utente creato e20.51.230.13
dell'indirizzo IP pubblico della macchina virtuale, digitare:ssh -i ~/.ssh/myKey.pem azureuser@20.51.230.13
Convalidare l'impronta digitale restituita.
Se non si è mai connessi a questa macchina virtuale in precedenza, viene chiesto di verificare l'impronta digitale degli host. È tentata di accettare l'impronta digitale presentata, ma che ti espone a una persona potenziale nel mezzo attacco. È consigliabile convalidare sempre l'impronta digitale degli host. È sufficiente eseguire questa operazione la prima volta che ci si connette da un client. Per ottenere l'impronta digitale dell'host tramite il portale, usare la funzionalità Esegui comando per eseguire il comando:
ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
Operazione riuscita. A questo momento si dovrebbe essere connessi alla macchina virtuale. Se non è possibile connettersi, vedere Risolvere i problemi relativi alle connessioni SSH.
SSH con chiave pubblica esistente
Eseguire il comando seguente nel client SSH. In questo esempio 20.51.230.13 è l'indirizzo IP pubblico della macchina virtuale e azureuser è il nome utente creato al momento della creazione della macchina virtuale.
ssh azureuser@20.51.230.13
Convalidare l'impronta digitale restituita.
Se non si è mai connessi alla macchina virtuale desiderata dal client SSH corrente prima di dover verificare l'impronta digitale dell'host. Mentre l'opzione predefinita consiste nell'accettare l'impronta digitale presentata, si è esposti a una possibile "persona nel mezzo attacco". È sempre necessario convalidare l'impronta digitale dell'host, che deve essere eseguita solo la prima volta che il client si connette. Per ottenere l'impronta digitale dell'host tramite il portale, usare la funzionalità Esegui comando per eseguire il comando:
ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
Operazione riuscita. A questo momento si dovrebbe essere connessi alla macchina virtuale. Se non è possibile connettersi, vedere la guida alla risoluzione dei problemi.
Autenticazione della password
Avviso
Questo tipo di metodo di autenticazione non è sicuro come una coppia di chiavi SSH e non è consigliato.
Eseguire il comando seguente nel client SSH. In questo esempio 20.51.230.13 è l'indirizzo IP pubblico della macchina virtuale e azureuser è il nome utente creato al momento della creazione della macchina virtuale.
ssh azureuser@20.51.230.13
Se la password o il nome utente sono stati dimenticati, vedere Reimpostare l'accesso a una macchina virtuale di Azure
Convalidare l'impronta digitale restituita.
Se non si è mai connessi alla macchina virtuale desiderata dal client SSH corrente prima di dover verificare l'impronta digitale dell'host. Mentre l'opzione predefinita consiste nell'accettare l'impronta digitale presentata, si è esposti a una possibile "persona nel mezzo attacco". È sempre necessario convalidare l'impronta digitale dell'host, che deve essere eseguita solo la prima volta che il client si connette. Per ottenere l'impronta digitale dell'host tramite il portale, usare la funzionalità Esegui comando per eseguire il comando:
ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
Operazione riuscita. A questo momento si dovrebbe essere connessi alla macchina virtuale. Se non è possibile connettersi, vedere Risolvere i problemi relativi alle connessioni SSH.
Passaggi successivi
Informazioni su come trasferire file in una macchina virtuale esistente, vedere Usare SCP per spostare i file da e verso una macchina virtuale.