Para transferir ficheiros para instâncias de VMs do Compute Engine, estão disponíveis diferentes opções, consoante o SO da sua estação de trabalho e o SO da instância de VM de destino.
Transferir de | Para VMs do Linux |
---|---|
Linux ou macOS | |
Windows |
Transfira ficheiros através do Cloud Storage
Os contentores do Cloud Storage podem ser usados como um ponto de transferência entre si e as suas VMs. Pode usar um navegador de Internet, a Google Cloud CLI ou uma linguagem de programação para transferir ficheiros entre o Cloud Storage e as VMs do Compute Engine.
Podem ser usados diferentes tipos de credenciais para o passo de carregamento e transferência, de forma a adequar-se melhor às suas necessidades:
- Aceder aos dados em nome de um utilizador é mais adequado para operações de utilização única ou recursos dos quais é o principal responsável.
- Considere as credenciais da conta de serviço para implementações dimensionadas e cenários de recursos partilhados.
Para usar o Cloud Storage para transferir ficheiros entre um computador e uma VM, faça o seguinte:
- Crie um contentor do Cloud Storage se não tiver um contentor para usar nas transferências de ficheiros.
-
Use as autorizações da IAM para modificar
o acesso ao contentor:
- As contas que carregam ficheiros para o contentor devem ter a função Administrador de objetos de armazenamento concedida.
- As contas que transferem ficheiros devem ter a função Storage Object Viewer concedida.
- Inicie sessão no dispositivo de origem e carregue os ficheiros para o contentor.
- Inicie sessão no dispositivo de destino e transfira os ficheiros do contentor para concluir a transferência de ficheiros.
- Opcional: elimine os ficheiros de que já não precisa para evitar encargos de armazenamento indesejados.
Se precisar de transferir ficheiros na outra direção, pode inverter o processo. Certifique-se de que a conta que está a carregar o ficheiro tem acesso de escrita ao contentor.
Transfira ficheiros através do SSH no navegador
Se conseguir estabelecer uma ligação SSH a uma VM através do SSH no navegador, pode usar essa ligação para transferir ficheiros para e a partir da VM.
Carregue para a VM
- Na Google Cloud consola, aceda à página Instâncias de VM.
-
In the list of virtual machine instances, click SSH in the row of
the instance that you want to connect to.
Depois de estabelecer a ligação, clique no ícone de carregamento
.É apresentada a caixa de diálogo de carregamento.
- Escolha os ficheiros a carregar.
- Clique em Carregar ficheiros para carregar os ficheiros. O ficheiro é carregado para o diretório
/home/USER
.
Transferir a partir da VM
- Na Google Cloud consola, aceda à página Instâncias de VM.
-
In the list of virtual machine instances, click SSH in the row of
the instance that you want to connect to.
Depois de estabelecer a ligação, clique no ícone de transferência
.É aberta a caixa de diálogo de transferência.
- No campo Caminho, introduza o caminho relativo do ficheiro a transferir.
- Clique em Transferir para transferir o ficheiro. O ficheiro é transferido para a pasta de transferências predefinida da sua estação de trabalho.
Transfira ficheiros através da Google Cloud CLI
A CLI do Google Cloud fornece uma utilidade de transferência de ficheiros do Secure Copy Protocol (SCP) através de uma ligação SSH estabelecida.
Para transferir ficheiros através do SCP, faça o seguinte:
-
Reveja as regras de firewall
e confirme se as ligações SSH na porta
22
são permitidas. Caso contrário, crie uma regra de firewall SSH. - Certifique-se de que a CLI gcloud está instalada no dispositivo de origem que contém os ficheiros a transferir.
-
Use o comando
gcloud compute scp
para transferir os ficheiros para o computador de destino.
O exemplo seguinte copia um ficheiro da sua estação de trabalho para o diretório inicial da VM:
gcloud compute scp LOCAL_FILE_PATH VM_NAME:REMOTE_DIR
Substitua o seguinte:
LOCAL_FILE_PATH
: o caminho para o ficheiro no seu computadorVM_NAME
: o nome da sua VMREMOTE_DIR
: um diretório no computador remoto
Também pode copiar ficheiros e diretórios na direção inversa a partir do computador remoto. O exemplo seguinte copia recursivamente um diretório da origem para o destino:
gcloud compute scp --recurse VM_NAME:REMOTE_DIR LOCAL_FILE_PATH
Para mais informações, consulte a
documentação de referência gcloud compute scp
.
Transfira ficheiros através do SCP em estações de trabalho Linux e macOS
A ferramenta de linha de comandos scp
funciona de forma semelhante ao comando gcloud compute scp
, mas requer que faça a gestão manual das suas chaves SSH.
Para transferir ficheiros através do SCP, tem de ter uma regra de firewall na rede que a sua VM usa que permita ligações SSH na porta 22
. Pode verificar se esta regra de firewall existe procurando uma regra de firewall que permita
tcp:22
ligações na Google Cloud consola.
Se não tiver uma regra de firewall que permita ligações SSH na porta 22
,
crie a regra de firewall.
A ferramenta scp
usa os mesmos ficheiros de chaves que usa para
estabelecer ligação às suas instâncias através do SSH padrão.
Se ainda não aplicou uma chave pública ao seu projeto da consola ou instância de VM, crie um par de chaves SSH e adicione a chave pública aos metadados do projeto ou da instância. Google Cloud
Encontre o IP externo da VM para a qual quer enviar ficheiros.
Na Google Cloud consola, aceda à página Instâncias de VM.
Na lista de VMs, encontre o endereço IP externo na coluna IP externo da VM de destino.
Use a ferramenta
scp
para copiar um ficheiro da sua estação de trabalho para o diretório inicial da VM de destino. Para este exemplo, a chave privada encontra-se em~/.ssh/my-ssh-key
.scp -i ~/.ssh/my-ssh-key LOCAL_FILE_PATH USERNAME@IPv4_ADDRESS:~
Para um endereço IPv6 externo, use a seguinte sintaxe:
scp -6 -i ~/.ssh/IDENTITY_FILE LOCAL_FILE_PATH USERNAME@[IPv6_ADDRESS]:~/
Substitua o seguinte:
IDENTITY_FILE
: o ficheiro que contém a identidade (chave privada) para a autenticação de chave públicaLOCAL_FILE_PATH
: o nome do ficheiro local que quer carregarUSERNAME
: o seu nome de utilizadorIPv4_ADDRESS
ouIPv6_ADDRESS
: o endereço IP externo da sua VM
Também pode copiar ficheiros de uma VM para a sua estação de trabalho local invertendo as variáveis de origem e destino. Para este exemplo, copie um ficheiro da sua VM para um caminho na sua estação de trabalho.
scp -i ~/.sshIDENTITY_FILE USERNAME@IP_ADDRESS:REMOTE_FILE_PATH LOCAL_FILE_PATH
Substitua o seguinte:
IDENTITY_FILE
: o ficheiro que contém a identidade (chave privada) para a autenticação de chave públicaUSERNAME
: o seu nome de utilizadorIP_ADDRESS
: o endereço IP externo da sua VMREMOTE_FILE_PATH
: o nome do ficheiro remoto que quer transferirLOCAL_FILE_PATH
: a localização na sua estação de trabalho onde quer transferir o ficheiro
Transfira ficheiros através do WinSCP em estações de trabalho Windows
Nas estações de trabalho Windows, o cliente WinSCP permite-lhe gerir ficheiros nas suas instâncias através de uma interface gráfica do navegador de ficheiros.
O WinSCP usa os mesmos ficheiros de chave que usa para estabelecer ligação a VMs através do PuTTY.
Faça o seguinte se não tiver configurado a autenticação SSH baseada em chaves para a sua instância:
Crie um par de chaves SSH através do PuTTYgen. A chave SSH privada tem de usar o formato
.ppk
, que é o formato predefinido para chaves criadas pelo PuTTYgen.Adicione a sua chave SSH pública aos metadados do projeto ou aos metadados da VM. Para mais informações, consulte os artigos Adicione chaves SSH aos metadados do projeto ou Adicione chaves SSH aos metadados da instância.
Encontre o IP externo da VM para a qual quer enviar ficheiros.
- Na Google Cloud consola, aceda à página Instâncias de VM.
- Na lista de VMs, encontre o endereço IP externo na coluna IP externo da sua VM.
Transfira e instale o WinSCP. As predefinições de instalação funcionam para a maioria dos utilizadores.
Inicie o programa WinSCP. É aberta uma janela de início de sessão onde pode configurar as definições de ligação.
No WinSCP, configure as definições de ligação.
Selecione
SCP
como o protocolo de transferência de ficheiros no campo Protocolo de ficheiros.No campo Host Name (Nome do anfitrião), especifique o endereço IP externo da VM à qual quer estabelecer ligação.
No campo Nome de utilizador, especifique o nome de utilizador da Google que usa para aceder ao seu projeto. Para este exemplo, o utilizador é
example-user
.
Clique na lista pendente Avançadas para abrir as definições avançadas e navegue para SSH > Autenticação.
Na caixa Ficheiro de chave privada, especifique o caminho para o ficheiro de chave privada do par de chaves SSH que criou para a VM.
Clique em OK para guardar as definições avançadas.
Clique em Iniciar sessão para estabelecer ligação à sua VM. Se a ligação for bem-sucedida, a janela abre o sistema de ficheiros local à esquerda e o sistema de ficheiros da VM à direita. Pode navegar para diferentes diretórios nestes sistemas de ficheiros e arrastar ficheiros para os transferir para e a partir da sua VM.
É provável que não tenha autorização para gerir a maioria dos ficheiros fora do seu diretório principal da VM. Navegue para o diretório base da VM:
/home/USERNAME
Use a interface do WinSCP para mover ficheiros entre a sua estação de trabalho e a VM.
Depois de copiar os ficheiros para a VM, ligue-se à sua instância para poder executar ou mover ficheiros com autorizações
sudo
completas.
O que se segue?
- Ligue-se às suas instâncias para usar os ficheiros que carregou.