En este documento, se muestra cómo conectarse a un servidor SFTP interno en Cloud FTP. Un servidor SFTP te permite transferir archivos de forma segura hacia y desde Cloud Storage. Puedes subir o descargar datos en buckets de Cloud Storage con comandos SFTP estándar y clientes SFTP.
Solo se puede acceder a los servidores internos dentro de tu red de nube privada virtual (VPC) con Private Service Connect. Para obtener información general, consulta Descripción general de VPC y Descripción general de Private Service Connect.
Antes de comenzar
Completa los requisitos previos en las siguientes secciones.
Configura una red de VPC
En los pasos de este documento, se supone que tienes una red de VPC. Si deseas conocer los pasos para crear una red de VPC, consulta Crea y administra redes de VPC.
Puedes conectarte a la dirección IP privada del extremo de Private Service Connect desde una instancia o un servicio de Compute Engine en la misma red que el extremo. Es posible que debas configurar la red para permitir estas conexiones. Por ejemplo, si te conectas al extremo con una VM cliente de Compute Engine, agrega una regla de firewall que permita las conexiones SSH de entrada a las instancias de VM.
Configura un extremo de Private Service Connect
Antes de conectarte a un servidor SFTP interno por primera vez, completa los siguientes pasos:
Genera un par de claves SSH que usarás para autenticarte en el servidor.
¿Qué formato de clave necesitas?
El formato de clave que necesitas depende del cliente que uses para conectarte al servidor SFTP. Para más información, consulta Clientes SFTP compatibles.
Formato PEM
-
Para crear un par de claves OpenSSH (formato PEM), usa la
ssh-keygenutilidad.En la máquina cliente que se conectará al servidor SFTP, ejecuta el siguiente comando:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/KEY_PAIR_NAME
Reemplaza
KEY_PAIR_NAMEpor un nombre para el par de claves, comosftp_user_key. -
Extrae la clave pública:
cat ~/.ssh/KEY_PAIR_NAME.pub
Formato PPK
-
Para crear un par de claves PuTTY (formato PPK), usa la
PuTTYgenherramienta.En la máquina cliente que se conectará al servidor SFTP, ejecuta el siguiente comando:
puttygen -t rsa -b 4096 -o KEY_PAIR_NAME.ppk
Reemplaza
KEY_PAIR_NAMEpor un nombre para el par de claves, comosftp_user_key. -
Extrae la clave pública:
puttygen -L KEY_PAIR_NAME.ppk
Proporciona la clave pública a tu administrador de Cloud FTP. El administrador creará una cuenta de usuario de SFTP para ti y te agregará a un servidor.
-
Pídele a tu administrador de Cloud FTP que te proporcione la siguiente información, que necesitas para conectarte al servidor:
- El URI del adjunto del servicio para el servidor.
- Tu nombre de usuario de SFTP.
- La huella digital de la clave del servidor (opcional).
Sigue los pasos para crear un extremo de Private Service Connect. Proporciona la siguiente información:
- Destino: selecciona Servicio publicado.
- Servicio de destino: El URI del adjunto del servicio. El URI del adjunto de servicio tiene el formato
projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME. - Nombre: Un nombre para el extremo. Usa el mismo valor que el
SERVICE_PROJECTdel URI del adjunto del servicio. - Red: La red de VPC para el extremo.
- Subred: La subred para el extremo.
- Dirección IP: Crea una dirección IP para el extremo.
- Si creas la VM cliente en una región diferente del adjunto del servicio, selecciona Habilitar acceso global.
Anota la dirección IP del extremo.
En la misma red que el extremo, configura un cliente, como una instancia o un servicio de Compute Engine, de modo que la instancia o el servicio puedan conectarse a la dirección IP privada del extremo.
Por ejemplo, para usar una instancia de Compute Engine como una VM cliente, haz lo siguiente:
Sigue los pasos para crear una instancia de Compute Engine, si aún no existe. Proporciona la siguiente información:
- Región: Si no habilitaste el acceso global cuando creaste el extremo, selecciona la misma región que el adjunto del servicio del servidor SFTP.
- Interfaz de red: Selecciona la misma red de VPC y subred que el extremo.
Anota el nombre y la zona de la VM cliente.
Transfiere tu clave privada a la VM cliente:
gcloud compute scp ~/.ssh/KEY_PAIR_NAME CLIENT_VM_NAME:~/.ssh/KEY_PAIR_NAME \ --zone=CLIENT_VM_ZONE --project=PROJECT_ID
Reemplaza lo siguiente:
CLIENT_VM_NAME: El nombre de la VM cliente.CLIENT_VM_ZONE: La zona de la VM cliente.PROJECT_ID: El ID del proyecto o el número de tu Google Cloud proyecto.
Conéctate a un servidor SFTP interno
OpenSSH
-
Conéctate a la instancia o al servicio de Compute Engine cliente en la misma red de VPC que el extremo de Private Service Connect.
Por ejemplo, si usas una instancia de Compute Engine como una VM cliente, conéctate a la VM cliente con SSH:
gcloud compute ssh CLIENT_VM_NAME --zone=CLIENT_VM_ZONE --project=PROJECT_ID
Reemplaza lo siguiente:
CLIENT_VM_NAME: El nombre de la VM clienteCLIENT_VM_ZONE: La zona de la VM clientePROJECT_ID: El ID o el número del proyecto Google Cloud
-
Usa OpenSSH para conectarte al servidor SFTP:
sftp -i ~/.ssh/KEY_PAIR_NAME USERNAME@IP_ADDRESS
Reemplaza lo siguiente:
KEY_PAIR_NAME: El nombre de tu par de claves SSH, comosftp_user_keyUSERNAME: Tu nombre de usuario de SFTPIP_ADDRESS: La dirección IP del extremo de Private Service Connect
Si es la primera vez que te conectas al servidor, es posible que veas un mensaje como
The authenticity of host 'HOSTNAME (IP_ADDRESS)' can't be established, y la huella digital de la clave del servidor. Para verificar el servidor, ingresa la huella digital de la clave que te proporcionó el administrador. O bien, si confías en el servidor, escribeyespara agregarlo a tu lista de servidores de confianza.
Cuando termines de transferir archivos, desconéctate de la VM cliente ingresando exit.
PuTTY
-
Conéctate a la instancia o al servicio de Compute Engine cliente en la misma red de VPC que el extremo de Private Service Connect.
Por ejemplo, si usas una instancia de Compute Engine como una VM cliente, conéctate a la VM cliente con SSH:
gcloud compute ssh CLIENT_VM_NAME --zone=CLIENT_VM_ZONE --project=PROJECT_ID
Reemplaza lo siguiente:
CLIENT_VM_NAME: El nombre de la VM clienteCLIENT_VM_ZONE: La zona de la VM clientePROJECT_ID: El ID o el número del proyecto Google Cloud
-
Usa PuTTY para conectarte al servidor SFTP:
psftp -i ~/.ssh/KEY_PAIR_NAME.ppk USERNAME@IP_ADDRESS
Reemplaza lo siguiente:
KEY_PAIR_NAME: El nombre de tu par de claves SSH, comosftp_user_keyUSERNAME: Tu nombre de usuario de SFTPIP_ADDRESS: La dirección IP del extremo de Private Service Connect
Si es la primera vez que te conectas al servidor, es posible que veas un mensaje que indique que la clave del host no está almacenada en caché. Verifica la huella digital de la clave que te proporcionó el administrador y, de manera opcional, agrega la clave a la caché. Luego, continúa con la conexión.