Conectar-se a um servidor SFTP interno

Este documento mostra como se conectar a um servidor SFTP interno no Cloud FTP. Um servidor SFTP permite transferir arquivos com segurança para dentro e fora do Cloud Storage. É possível fazer upload ou download de dados em buckets do Cloud Storage usando comandos SFTP padrão e clientes SFTP.

Os servidores internos só podem ser acessados na sua rede de nuvem privada virtual (VPC) usando o Private Service Connect. Para informações básicas, consulte Visão geral da VPC e Visão geral do Private Service Connect.

Antes de começar

Conclua os pré-requisitos nas seções a seguir.

Configurar uma rede VPC

As etapas neste documento presumem que você tenha uma rede VPC. Para conferir as etapas de criação de uma rede VPC, consulte Criar e gerenciar redes VPC.

É possível se conectar ao endereço IP particular do endpoint do Private Service Connect de uma instância ou serviço do Compute Engine na mesma rede que o endpoint. Talvez seja necessário configurar a rede para permitir essas conexões. Por exemplo, se você se conectar ao endpoint usando uma VM do cliente do Compute Engine, adicione uma regra de firewall que permita conexões SSH de entrada às instâncias de VM.

Configurar um endpoint do Private Service Connect

Antes de se conectar a um servidor SFTP interno pela primeira vez, conclua as etapas a seguir:

  1. Gere um par de chaves SSH que você usará para autenticar o servidor.

    Qual formato de chave você precisa?

    O formato de chave necessário depende do cliente usado para se conectar ao servidor SFTP. Para mais informações, consulte Clientes SFTP compatíveis.

    Formato PEM

    1. Para criar um par de chaves OpenSSH (formato PEM), use o ssh-keygen utilitário.

      Na máquina cliente que se conectará ao servidor SFTP, execute o seguinte comando:

      ssh-keygen -t rsa -b 4096 -f ~/.ssh/KEY_PAIR_NAME

      Substitua KEY_PAIR_NAME por um nome para o par de chaves, como sftp_user_key.

    2. Extraia a chave pública:

      cat ~/.ssh/KEY_PAIR_NAME.pub

    Formato PPK

    1. Para criar um par de chaves PuTTY (formato PPK), use a PuTTYgen ferramenta.

      Na máquina cliente que se conectará ao servidor SFTP, execute o seguinte comando:

      puttygen -t rsa -b 4096 -o KEY_PAIR_NAME.ppk

      Substitua KEY_PAIR_NAME por um nome para o par de chaves, como sftp_user_key.

    2. Extraia a chave pública:

      puttygen -L KEY_PAIR_NAME.ppk

    Forneça a chave pública ao administrador do Cloud FTP. O administrador vai criar uma conta de usuário SFTP para você e adicioná-lo a um servidor.

  2. Peça ao administrador do Cloud FTP para fornecer as seguintes informações, necessárias para se conectar ao servidor:

    • O URI do anexo de serviço do servidor.
    • Seu nome de usuário SFTP.
    • (Opcional) A impressão digital da chave do servidor.
  3. Siga as etapas para criar um endpoint do Private Service Connect. Forneça as seguintes informações:

    • Destino: selecione Serviço publicado.
    • Serviço de destino: o URI do anexo de serviço. O URI do anexo de serviço está no formato projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME.
    • Nome: um nome para o endpoint. Use o mesmo valor de SERVICE_PROJECT do URI do anexo de serviço.
    • Rede: a rede VPC do endpoint.
    • Sub-rede: a sub-rede do endpoint.
    • Endereço IP: crie um endereço IP para o endpoint.
    • Se você estiver criando a VM do cliente em uma região diferente do anexo de serviço, selecione Ativar acesso global.

    Anote o endereço IP do endpoint.

  4. Na mesma rede que o endpoint, configure um cliente, como uma instância ou serviço do Compute Engine, para que a instância ou o serviço possa se conectar ao endereço IP particular do endpoint.

    Por exemplo, para usar uma instância do Compute Engine como uma VM do cliente, faça o seguinte:

    1. Siga as etapas para criar uma instância do Compute Engine, se ela ainda não existir. Forneça as seguintes informações:

      • Região: se você não ativou o acesso global ao criar o endpoint, selecione a mesma região do anexo de serviço do servidor SFTP.
      • Interface de rede: selecione a mesma rede VPC e sub-rede que o endpoint.

      Anote o nome e a zona da VM do cliente.

    2. Transfira sua chave privada para a VM do cliente:

      gcloud compute scp ~/.ssh/KEY_PAIR_NAME CLIENT_VM_NAME:~/.ssh/KEY_PAIR_NAME \
      --zone=CLIENT_VM_ZONE --project=PROJECT_ID

      Substitua:

      • CLIENT_VM_NAME: o nome da VM do cliente.
      • CLIENT_VM_ZONE: a zona da VM do cliente.
      • PROJECT_ID: o ID do projeto ou número do seu Google Cloud projeto.

Conectar-se a um servidor SFTP interno

OpenSSH

  1. Conecte-se à instância ou serviço do Compute Engine do cliente na mesma rede VPC network que o endpoint do Private Service Connect.

    Por exemplo, se você estiver usando uma instância do Compute Engine como uma VM do cliente, conecte-se a VM do cliente usando SSH:

    gcloud compute ssh CLIENT_VM_NAME --zone=CLIENT_VM_ZONE --project=PROJECT_ID

    Substitua:

    • CLIENT_VM_NAME: o nome da VM do cliente
    • CLIENT_VM_ZONE: a zona da VM do cliente
    • PROJECT_ID: o ID do projeto ou número do seu Google Cloud projeto
  2. Use o OpenSSH para se conectar ao servidor SFTP:

    sftp -i ~/.ssh/KEY_PAIR_NAME USERNAME@IP_ADDRESS

    Substitua:

    • KEY_PAIR_NAME: o nome do seu par de chaves SSH, como sftp_user_key
    • USERNAME: seu nome de usuário SFTP
    • IP_ADDRESS: o endereço IP do endpoint do Private Service Connect

    Se esta for a primeira vez que você se conecta ao servidor, uma mensagem como The authenticity of host 'HOSTNAME (IP_ADDRESS)' can't be established, e a impressão digital da chave do servidor poderão aparecer. Para verificar o servidor, insira a impressão digital da chave fornecida pelo administrador. Ou, se você confiar no servidor, digite yes para adicionar o servidor à sua lista de servidores confiáveis.

Quando terminar de transferir arquivos, desconecte-se da VM do cliente inserindo exit.

PuTTY

  1. Conecte-se à instância ou serviço do Compute Engine do cliente na mesma rede VPC network que o endpoint do Private Service Connect.

    Por exemplo, se você estiver usando uma instância do Compute Engine como uma VM do cliente, conecte-se a VM do cliente usando SSH:

    gcloud compute ssh CLIENT_VM_NAME --zone=CLIENT_VM_ZONE --project=PROJECT_ID

    Substitua:

    • CLIENT_VM_NAME: o nome da VM do cliente
    • CLIENT_VM_ZONE: a zona da VM do cliente
    • PROJECT_ID: o ID do projeto ou número do seu Google Cloud projeto
  2. Use o PuTTY para se conectar ao servidor SFTP:

    psftp -i ~/.ssh/KEY_PAIR_NAME.ppk USERNAME@IP_ADDRESS

    Substitua:

    • KEY_PAIR_NAME: o nome do seu par de chaves SSH, como sftp_user_key
    • USERNAME: seu nome de usuário SFTP
    • IP_ADDRESS: o endereço IP do endpoint do Private Service Connect

    Se esta for a primeira vez que você se conecta ao servidor, uma mensagem informando que a chave do host não está armazenada em cache poderá aparecer. Verifique a impressão digital da chave fornecida pelo administrador e, opcionalmente, adicione a chave ao cache. Em seguida, prossiga com a conexão.

A seguir