Condividi tramite


Usare SCP per spostare i file da e verso una macchina virtuale

Si applica a: ✔️ macchine virtuali Linux ✔️ macchine virtuali Windows ✔️ set di scalabilità flessibili

Questo articolo illustra come spostare i file dalla workstation a una macchina virtuale di Azure o da una macchina virtuale di Azure alla workstation usando La copia sicura (SCP). Lo spostamento di file tra la workstation e una macchina virtuale, in modo rapido e sicuro, è fondamentale per la gestione dell'infrastruttura di Azure.

Per questo articolo è necessaria una macchina virtuale distribuita in Azure con SSH abilitato. È necessario anche un client SCP per il computer locale: Si basa su SSH ed è incluso nella shell predefinita della maggior parte delle installazioni di Linux e Windows (10 e versioni successive).

Comandi rapidi

Caricare un file nella macchina virtuale

scp file azureuser@azurehost:directory/targetfile

Scaricare un file dalla macchina virtuale

scp azureuser@azurehost:directory/file targetfile

Procedura dettagliata

Ad esempio, si sposta un file di configurazione di Azure in una macchina virtuale e si esegue il pull di una directory di file di log, entrambi usando SCP.

Autenticazione della coppia di chiavi SSH

SCP usa SSH per il livello di trasporto. SSH gestisce l'autenticazione nell'host di destinazione e sposta il file in un tunnel crittografato fornito per impostazione predefinita con SSH. Per l'autenticazione SSH è possibile usare nomi utente e password. Per una maggiore sicurezza, tuttavia, è consigliabile eseguire l'autenticazione tramite file di chiavi SSH pubbliche e private. Dopo che SSH ha autenticato la connessione, SCP avvia il processo di copia del file. Quando si usano chiavi pubbliche e private SSH configurate ~/.ssh/config correttamente, la connessione SCP può essere stabilita usando solo un nome server (o indirizzo IP). Se si ha una sola chiave SSH, SCP la cerca nella directory ~/.ssh/ e, per impostazione predefinita, la usa per accedere alla macchina virtuale.

Per altre informazioni sulla configurazione del file ~/.ssh/config e delle chiavi SSH pubbliche e private, vedere Creare chiavi SSH.

Caricare un file in una macchina virtuale

Per il primo esempio viene copiato un file di configurazione di Azure fino a una macchina virtuale usata per distribuire l'automazione. Poiché questo file contiene credenziali di API di Azure, che includono informazioni riservate, la sicurezza è particolarmente importante e il tunnel crittografato fornito con SSH assicura la protezione dei contenuti del file.

Il comando seguente consente di copiare il file .azure/config locale in una macchina virtuale di Azure con FQDN: myserver.eastus.cloudapp.azure.com. Se non è stato impostato un nome di dominio completo, è anche possibile usare l'indirizzo IP della macchina virtuale. Il nome utente dell'amministratore nella macchina virtuale di Azure è azureuser. Il file è destinato ad essere inserito nella directory /home/azureuser/. Nel comando sostituire i valori predefiniti con quelli personali.

scp ~/.azure/config azureuser@myserver.eastus.cloudapp.com:/home/azureuser/config

Scaricare una directory da una macchina virtuale

Per questo esempio, si copia una directory di file di log dalla macchina virtuale fino alla workstation. Poiché è possibile che un file di log contenga dati riservati, con SCP si ha la certezza che i contenuti dei file di log vengano crittografati. Una directory di log può contenere troppi file pertinenti per copiarne uno alla volta, quindi il download dell'intera directory è preferibile in questa situazione. L'uso di SCP per il trasferimento dei file costituisce il modo più semplice per spostare in totale sicurezza file e directory di log in una workstation.

Il comando seguente consente di copiare i file contenuti nella directory /home/azureuser/logs/ nella directory /tmp locale della macchina virtuale di Azure:

scp -r azureuser@myserver.eastus.cloudapp.com:/home/azureuser/logs/. /tmp/

Il -r flag indica a SCP di copiare in modo ricorsivo i file e le directory dal punto della directory elencata nel comando . Osservare inoltre come la sintassi della riga di comando sia simile al comando di copia cp.

Passaggi successivi