Usar o SCP para mover arquivos de e para uma VM
Aplica-se a: ✔️ Linux VMs ✔️ Windows VMs ✔️ Conjuntos de escala flexível
Este artigo mostra como mover ficheiros da sua estação de trabalho para uma VM do Azure ou de uma VM do Azure para a sua estação de trabalho, utilizando o Secure Copy (SCP). Mover arquivos entre sua estação de trabalho e uma VM, de forma rápida e segura, é essencial para gerenciar sua infraestrutura do Azure.
Para este artigo, você precisa de uma VM implantada no Azure com SSH habilitado. Você também precisa de um cliente SCP para seu computador local. Ele é construído sobre SSH e incluído no shell padrão da maioria das instalações Linux e Windows (10 e mais recentes).
Comandos rápidos
Carregar um arquivo para a VM
scp file azureuser@azurehost:directory/targetfile
Baixar um arquivo da VM
scp azureuser@azurehost:directory/file targetfile
Instruções detalhadas
Como exemplos, movemos um arquivo de configuração do Azure para uma VM e puxamos para baixo um diretório de arquivo de log, ambos usando SCP.
Autenticação de par de chaves SSH
O SCP usa SSH para a camada de transporte. O SSH lida com a autenticação no host de destino e move o arquivo em um túnel criptografado fornecido por padrão com SSH. Para autenticação SSH, nomes de usuário e senhas podem ser usados. No entanto, a autenticação de chave pública e privada SSH é recomendada como uma prática recomendada de segurança. Depois que o SSH autentica a conexão, o SCP começa a copiar o arquivo. Quando você usa chaves públicas e privadas SSH configuradas ~/.ssh/config
corretamente, a conexão SCP pode ser estabelecida usando apenas um nome de servidor (ou endereço IP). Se você tiver apenas uma chave SSH, o ~/.ssh/
SCP a procurará no diretório e a usará por padrão para efetuar login na VM.
Para obter mais informações sobre como configurar suas ~/.ssh/config
chaves públicas e privadas SSH, consulte Criar chaves SSH.
Carregar um ficheiro para uma VM
Para o primeiro exemplo, copiamos um arquivo de configuração do Azure até uma VM usada para implantar a automação. Como esse arquivo contém credenciais da API do Azure, que incluem segredos, a segurança é importante. O túnel criptografado fornecido pelo SSH protege o conteúdo do arquivo.
O comando a seguir copia o arquivo .azure/config local para uma VM do Azure com FQDN myserver.eastus.cloudapp.azure.com. Se você não tiver um FQDN definido, também poderá usar o endereço IP da VM. O nome de usuário admin na VM do Azure é azureuser. O arquivo é direcionado para o diretório /home/azureuser/ . Substitua seus próprios valores neste comando.
scp ~/.azure/config azureuser@myserver.eastus.cloudapp.com:/home/azureuser/config
Baixar um diretório de uma VM
Neste exemplo, copiamos um diretório de arquivos de log da VM para sua estação de trabalho. Um arquivo de log pode ou não conter dados confidenciais ou secretos. No entanto, usar SCP garante que o conteúdo dos ficheiros de registo são encriptados. Um diretório de log pode conter muitos arquivos relevantes para copiar um de cada vez, portanto, baixar o diretório inteiro é preferível nessa situação. Usar o SCP para transferir os arquivos é a maneira mais fácil de obter o diretório de log e os arquivos para sua estação de trabalho e, ao mesmo tempo, ser seguro.
O comando a seguir copia arquivos no diretório /home/azureuser/logs/ na VM do Azure para o diretório /tmp local:
scp -r azureuser@myserver.eastus.cloudapp.com:/home/azureuser/logs/. /tmp/
O -r
sinalizador instrui o SCP a copiar recursivamente os arquivos e diretórios do ponto do diretório listado no comando. Observe também que a sintaxe da linha de comando é semelhante a um cp
comando copy.