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:
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
-
Para criar um par de chaves OpenSSH (formato PEM), use o
ssh-keygenutilitá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_NAMEpor um nome para o par de chaves, comosftp_user_key. -
Extraia a chave pública:
cat ~/.ssh/KEY_PAIR_NAME.pub
Formato PPK
-
Para criar um par de chaves PuTTY (formato PPK), use a
PuTTYgenferramenta.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_NAMEpor um nome para o par de chaves, comosftp_user_key. -
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.
-
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.
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_PROJECTdo 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.
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:
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.
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
-
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 clienteCLIENT_VM_ZONE: a zona da VM do clientePROJECT_ID: o ID do projeto ou número do seu Google Cloud projeto
-
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, comosftp_user_keyUSERNAME: seu nome de usuário SFTPIP_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, digiteyespara adicionar o servidor à sua lista de servidores confiáveis.
Quando terminar de transferir arquivos, desconecte-se da VM do cliente inserindo exit.
PuTTY
-
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 clienteCLIENT_VM_ZONE: a zona da VM do clientePROJECT_ID: o ID do projeto ou número do seu Google Cloud projeto
-
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, comosftp_user_keyUSERNAME: seu nome de usuário SFTPIP_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.