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. È anche necessario 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 su una macchina virtuale e si scarica 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. Tuttavia, l'autenticazione con chiave pubblica e privata SSH è consigliata come procedura consigliata per la sicurezza. Dopo che SSH ha autenticato la connessione, SCP inizia a copiare il 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 dispone di una sola chiave SSH, SCP lo cerca nella ~/.ssh/ directory e lo usa per impostazione predefinita per accedere alla macchina virtuale.

Per altre informazioni sulla configurazione delle ~/.ssh/config chiavi pubbliche e 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 le credenziali dell'API di Azure, che includono segreti, la sicurezza è importante. Il tunnel crittografato fornito da SSH protegge il contenuto del file.

Il comando seguente copia 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 amministratore nella macchina virtuale di Azure è azureuser. Il file è destinato alla directory /home/azureuser/ . Sostituire i propri valori in questo comando.

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. Un file di log può contenere o meno dati sensibili o segreti. Tuttavia, l'uso di SCP garantisce che il contenuto dei file di log sia crittografato. 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 trasferire i file è il modo più semplice per ottenere la directory di log e i file nella workstation, garantendo al tempo stesso la sicurezza.

Il comando seguente copia i file nella directory /home/azureuser/logs/ nella macchina virtuale di Azure nella directory /tmp locale:

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

L'opzione -r istruisce SCP a copiare in modo ricorsivo i file e le directory a partire dalla directory specificata nel comando. Si noti anche che la sintassi della riga di comando è simile a un cp comando di copia.

Passaggi successivi