Come creare e usare una coppia di chiavi SSH pubblica e privata per le macchine virtuali Linux in AzureHow to create and use an SSH public and private key pair for Linux VMs in Azure

Con una coppia di chiavi SSH (Secure Shell) è possibile creare macchine virtuali in Azure che per impostazione predefinita usano le chiavi SSH per l'autenticazione, eliminando la necessità di password per l'accesso.With a secure shell (SSH) key pair, you can create virtual machines (VMs) in Azure that use SSH keys for authentication, eliminating the need for passwords to log in. Questo articolo illustra come generare rapidamente e usare una coppia di file di chiavi pubblica e privata RSA protocollo SSH versione 2 per le VM Linux.This article shows you how to quickly generate and use an SSH protocol version 2 RSA public and private key file pair for Linux VMs. È possibile completare questa procedura con Azure Cloud Shell, un host Linux o macOS o il sottosistema Windows per Linux.You can complete these steps with the Azure Cloud Shell, a macOS or Linux host, or the Windows Subsystem for Linux. Per una procedura più dettagliata ed esempi aggiuntivi, vedere la procedura dettagliata per creare coppie di chiavi SSH e certificati.For more detailed steps and additional examples, see detailed steps to create SSH key pairs and certificates.

Creare una coppia di chiavi SSHCreate an SSH key pair

Usare il comando ssh-keygen per creare i file di chiave pubblica e privata SSH che, per impostazione predefinita, vengono creati nella directory ~/.ssh, ma è possibile specificare un percorso diverso e una passphrase (una password per accedere al file della chiave privata) aggiuntiva, quando viene richiesto.Use the ssh-keygen command to create SSH public and private key files that are by default created in the ~/.ssh directory, but you can specify a different location and additional passphrase (a password to access the private key file) when prompted. Usare il comando seguente da una shell Bash, rispondendo ai prompt con le proprie informazioni.Run the following command from a Bash shell, answering the prompts with your own information.

ssh-keygen -t rsa -b 2048

Usare la coppia di chiavi SSHUse the SSH key pair

Per impostazione predefinita, la chiave pubblica che si inserisce nella VM Linux in Azure viene archiviata in ~/.ssh/id_rsa.pub, a meno che il percorso non sia stato modificato in fase di creazione.The public key that you place on your Linux VM in Azure is by default stored in ~/.ssh/id_rsa.pub, unless you changed the location when you created them. Se si usa l'interfaccia della riga di comando di Azure 2.0 per creare la VM, specificare il percorso di questa chiave pubblica quando si usa az vm create con l'opzione --ssh-key-path.If you use the Azure CLI 2.0 to create your VM, specify the location of this public key when you use the az vm create with the --ssh-key-path option. Se si copiano e si incollano i contenuti del file di chiave pubblica da usare nel portale di Azure o in un modello di Resource Manager, verificare di non copiare spazi aggiuntivi.If you copy and paste the contents of the public key file to use in the Azure portal or a Resource Manager template, make sure you don't copy any additional whitespace. Se, ad esempio, si usa OS X, è possibile inviare pipe del file di chiave pubblica (per impostazione predefinita, ~/.ssh/id_rsa.pub) a pbcopy per copiare i contenuti. Anche altri programmi Linux eseguono questa operazione, ad esempio xclip.For example, if you use OS X, you can pipe the public key file (by default, ~/.ssh/id_rsa.pub) to pbcopy to copy the contents (there are other Linux programs that do the same thing, such as xclip).

Se non si ha familiarità con le chiavi pubbliche SSH, è possibile visualizzare la chiave pubblica eseguendo cat come segue, sostituendo ~/.ssh/id_rsa.pub con il proprio percorso file della chiave pubblica:If you're not familiar with SSH public keys, you can see your public key by running cat as follows, replacing ~/.ssh/id_rsa.pub with your own public key file location:

cat ~/.ssh/id_rsa.pub

Con la chiave pubblica nella VM di Azure, stabilire una connessione SSH alla VM usando l'indirizzo IP o il nome DNS della VM. Ricordare di sostituire azureuser e myvm.westus.cloudapp.azure.com con il nome utente amministratore e il nome di dominio completo o l'indirizzo IP:With the public key on your Azure VM, SSH to your VM using the IP address or DNS name of your VM (remember to replace azureuser and myvm.westus.cloudapp.azure.com below with the admin username and the fully qualified domain name -- or IP address):

ssh azureuser@myvm.westus.cloudapp.azure.com

Se è stata specificata una passphrase durante la creazione della coppia di chiavi, immettere la passphrase quando viene richiesta durante il processo di accesso.If you provided a passphrase when you created your key pair, enter the passphrase when prompted during the login process. Il server viene aggiunto alla cartella ~/.ssh/known_hosts e non verrà chiesto di connettersi di nuovo finché la chiave pubblica nella VM di Azure non viene modificata o il nome server viene rimosso da ~/.ssh/known_hosts.(The server is added to your ~/.ssh/known_hosts folder, and you won't be asked to connect again until the public key on your Azure VM changes or the server name is removed from ~/.ssh/known_hosts.)

Passaggi successiviNext steps

Per impostazione predefinita, le VM create con le chiavi SSH vengono configurate con le password disabilitate, per rendere i tentativi di attacco basati su forza bruta per scoprire le password molto più costosi e quindi difficili.VMs created using SSH keys are by default configured with passwords disabled, to make brute-forced guessing attempts vastly more expensive and therefore difficult. Questo argomento descrive la creazione di una coppia di chiavi SSH semplice per un utilizzo rapido.This topic describes creating a simple SSH key pair for quick usage. Se serve maggiore assistenza durante la creazione della coppia di chiavi SSH o sono necessari certificati aggiuntivi, Detailed steps to create SSH key pairs and certificates (Procedura dettagliata per creare coppie di chiavi SSH e certificati).If you need more assistance in creating your SSH key pair or require additional certificates, see Detailed steps to create SSH key pairs and certificates.

È possibile creare VM che usano la coppia di chiavi SSH con il portale di Azure, l'interfaccia della riga di comando e i modelli:You can create VMs that use your SSH key pair using the Azure portal, CLI, and templates: