Transferir arquivos para VMs Linux


Para transferir arquivos para instâncias de VM do Compute Engine, diferentes opções estão disponíveis dependendo do sistema operacional da estação de trabalho e do sistema operacional da instância de VM de destino.

Transferir de Para VMs Linux
Linux ou macOS
Windows

Transferir arquivos através do Cloud Storage

Os buckets do Cloud Storage podem ser usados ​​como um ponto de transferência entre você e suas VMs. Você pode usar um navegador da Web, a CLI do Google Cloud ou uma linguagem de programação para transferir arquivos entre as VMs do Cloud Storage e do Compute Engine.

Diferentes tipos de credenciais podem ser usados ​​para a etapa de upload e download para melhor atender às suas necessidades:

Para usar o Cloud Storage para transferir arquivos entre um computador e uma VM, faça o seguinte:

  1. Crie um bucket do Cloud Storage se você não tiver um bucket para usar em transferências de arquivos.
  2. Use permissões do IAM para modificar o acesso ao bucket:
    • As contas que fazem upload de arquivo(s) para o bucket devem ter o administrador do objeto de armazenamento concedido.
    • As contas que baixam arquivos devem ter a função de visualizador de objetos de armazenamento concedida.
  3. Faça login no dispositivo de origem e carregue os arquivos no bucket.
  4. Faça login no dispositivo de destino e baixe os arquivos do bucket, concluindo a transferência de arquivos.
  5. Opcional: exclua os arquivos que não são mais necessários para evitar cobranças indesejadas de armazenamento.

Se precisar transferir arquivos na outra direção, você pode reverter o processo. Certifique-se de que a conta que faz upload do arquivo tenha acesso de gravação ao bucket.

Transferir arquivos usando SSH no navegador

Se você puder estabelecer uma conexão SSH com uma VM usando SSH-in-browser , poderá usar essa conexão para transferir arquivos de e para a VM.

Fazer upload para a VM

  1. No console do Google Cloud, acesse a página de instâncias de VM .

    Acesse as instâncias de VM

  2. In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.

    SSH button next to instance name.

  3. Após a conexão ser estabelecida, clique no ícone de upload .

    A caixa de diálogo de upload é aberta.

  4. Escolha os arquivos para upload.
  5. Faça upload dos arquivos clicando em Fazer upload de arquivos . O arquivo é carregado em seu diretório /home/ USER .

Baixar da VM

  1. No console do Google Cloud, acesse a página de instâncias de VM .

    Acesse as instâncias de VM

  2. In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.

    SSH button next to instance name.

  3. Após a conexão ser estabelecida, clique no ícone de download .

    A caixa de diálogo de download é aberta.

  4. No campo Caminho , insira o caminho relativo do arquivo para download.
  5. Baixe o arquivo clicando em Download . O arquivo é baixado para a pasta de download padrão da sua estação de trabalho.

Transferir arquivos usando a CLI do Google Cloud

A Google Cloud CLI fornece um utilitário de transferência de arquivos Secure Copy Protocol (SCP) por meio de uma conexão SSH estabelecida.

Para transferir arquivos usando SCP, faça o seguinte:

  1. Revise suas regras de firewall e confirme se as conexões SSH na porta 22 são permitidas; caso contrário, crie uma regra de firewall SSH .
  2. Certifique-se de que a CLI gcloud esteja instalada no dispositivo de origem que contém os arquivos a serem transferidos.
  3. Use o comando gcloud compute scp para transferir os arquivos para a máquina de destino.

O exemplo a seguir copia um arquivo 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 arquivo em sua máquina
  • VM_NAME : o nome da sua VM
  • REMOTE_DIR : um diretório na máquina remota

Você também pode copiar arquivos e diretórios ao contrário da máquina remota. O exemplo a seguir copia recursivamente um diretório da origem para o destino:

gcloud compute scp --recurse VM_NAME:REMOTE_DIR LOCAL_FILE_PATH

Para obter mais informações, consulte a documentação de referência gcloud compute scp .

Transferir arquivos usando SCP em estações de trabalho Linux e macOS

A ferramenta de linha de comando scp funciona de maneira semelhante ao comando gcloud compute scp , mas exige que você gerencie manualmente suas chaves SSH .

Para transferir arquivos usando SCP, você deve ter uma regra de firewall na rede usada pela sua VM que permita conexões SSH na porta 22 . Você pode verificar se essas regras de firewall existem procurando uma regra de firewall que permita conexões tcp:22 no console do Google Cloud.

Vá para as regras do Firewall

Se você não tiver uma regra de firewall que permita conexões SSH na porta 22 , crie a regra de firewall .

A ferramenta scp usa os mesmos arquivos de chave que você usa para se conectar às suas instâncias usando SSH padrão .

  1. Se você ainda não aplicou uma chave pública ao projeto do console do Google Cloud 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 .

  2. Encontre o IP externo da VM para a qual você deseja enviar arquivos.

    1. No console do Google Cloud, acesse a página de instâncias de VM .

      Acesse as instâncias de VM

    2. Na lista de VMs, encontre o endereço IP externo na coluna IP externo da VM de destino.

  3. Use a ferramenta scp para copiar um arquivo da sua estação de trabalho para o diretório inicial da VM de destino. Para este exemplo, a chave privada está 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 arquivo que contém a identidade (chave privada) para autenticação de chave pública
    • LOCAL_FILE_PATH : o nome do arquivo local que você deseja enviar
    • USERNAME : seu nome de usuário
    • IPv4_ADDRESS ou IPv6_ADDRESS : o endereço IP externo da sua VM

Você também pode copiar arquivos de uma VM para sua estação de trabalho local invertendo as variáveis ​​de origem e destino. Neste exemplo, copie um arquivo 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 arquivo que contém a identidade (chave privada) para autenticação de chave pública
  • USERNAME : seu nome de usuário
  • IP_ADDRESS : o endereço IP externo da sua VM
  • REMOTE_FILE_PATH : o nome do arquivo remoto que você deseja baixar
  • LOCAL_FILE_PATH : o local em sua estação de trabalho para onde você deseja fazer download do arquivo

Transferir arquivos usando WinSCP em estações de trabalho Windows

Em estações de trabalho Windows, o cliente WinSCP permite gerenciar arquivos em suas instâncias por meio de uma interface gráfica de navegador de arquivos.

O WinSCP usa os mesmos arquivos de chave usados ​​para se conectar às VMs usando PuTTY .

  1. Faça o seguinte se você não tiver configurado a autenticação SSH baseada em chave para sua instância:

    1. Crie um par de chaves SSH usando PuTTYgen . A chave ssh privada deve usar o formato .ppk , que é o padrão para chaves criadas pelo PuTTYgen.

    2. Adicione sua chave SSH pública aos metadados do seu projeto ou aos metadados da sua VM. Para obter mais informações, consulte Adicionar chaves SSH aos metadados do projeto ou Adicionar chaves SSH aos metadados da instância .

  2. Encontre o IP externo da VM para a qual você deseja enviar arquivos.

    1. No console do Google Cloud, acesse a página de instâncias de VM .

      Acesse as instâncias de VM

    2. Na lista de VMs, encontre o endereço IP externo na coluna IP externo da sua VM.
  3. Baixe e instale o WinSCP . As configurações de instalação padrão funcionam para a maioria dos usuários.

  4. Inicie o programa WinSCP. Uma janela de login é aberta onde você pode definir suas configurações de conexão.

  5. No WinSCP, defina suas configurações de conexão.

    1. Selecione SCP como protocolo de transferência de arquivos no campo Protocolo de arquivo .

    2. No campo Nome do host , especifique o endereço IP externo da VM à qual você deseja se conectar.

    3. No campo Nome de usuário , especifique o nome de usuário do Google que você usa para acessar seu projeto. Para este exemplo, o usuário é example-user .

      Definir o protocolo do arquivo como SCP, o nome do host como 104.196.31.103 e o nome de usuário como usuário de exemplo.

  6. Clique na lista suspensa Avançado para abrir as configurações avançadas e navegue até SSH > Autenticação .

  7. Na caixa Arquivo de chave privada , especifique o caminho para o arquivo de chave privada do par de chaves SSH que você criou para a VM .

    Definir o arquivo de chave privada como my-ssh-key.ppk na caixa de diálogo Configurações avançadas do site.

  8. Clique em Ok para salvar as configurações avançadas.

  9. Clique em Login para se conectar à sua VM. Se a conexão for bem-sucedida, a janela abrirá seu sistema de arquivos local à esquerda e o sistema de arquivos da VM à direita. Você pode navegar para diferentes diretórios nesses sistemas de arquivos e arrastar arquivos para transferi-los de e para sua VM.

  10. Você provavelmente não tem permissão para gerenciar a maioria dos arquivos fora do diretório inicial da VM. Navegue até o diretório inicial da VM:

    /home/USERNAME
    
  11. Use a interface WinSCP para mover arquivos entre sua estação de trabalho e a VM.

  12. Depois de copiar seus arquivos para a VM, conecte-se à sua instância para poder executar ou mover arquivos com permissões sudo completas.

O que vem a seguir