Existen varias opciones para transferir archivos a instancias de VM de Compute Engine que dependen del SO de tu estación de trabajo y el SO de la instancia de VM de destino.
Transferir desde | A las VM de Linux |
---|---|
Linux o macOS | |
Windows |
Transfiere archivos a través de Cloud Storage
Los buckets de Cloud Storage se pueden usar como un punto de transferencia entre tú y tus VM. Puedes usar un navegador web, Google Cloud CLI o un lenguaje de programación para transferir archivos entre Cloud Storage y las VM de Compute Engine.
Se pueden usar diferentes tipos de credenciales para el paso de carga y descarga según tus necesidades:
- Acceder a los datos en nombre de un usuario es mejor para operaciones de uso único o recursos para los que eres el principal responsable.
- Considera las credenciales de cuentas de servicio para implementaciones escaladas y situaciones de recursos compartidos.
Si deseas usar Cloud Storage para transferir archivos entre una computadora y una VM, haz lo siguiente:
- Crea un bucket de Cloud Storage si no tienes un bucket existente para usar en las transferencias de archivos.
-
Usa los permisos de IAM para modificar el acceso al bucket:
- Se debe otorgar el rol de Administrador de objetos de almacenamiento a las cuentas que suben archivos al depósito.
- Se debe otorgar el rol Visualizador de objetos de almacenamiento a las cuentas que descargan archivos.
- Accede al dispositivo de origen y sube los archivos al bucket.
- Accede al dispositivo de destino y descarga los archivos desde el bucket que completa la transferencia de archivos.
- Opcional: Borra los archivos que ya no necesites para evitar cargos de almacenamiento no deseados.
Si necesitas transferir archivos en dirección opuesta, puedes invertir el proceso. Asegúrate de que la cuenta que sube el archivo tenga acceso de escritura al bucket.
Transfiere archivos con SSH en el navegador
Si puedes establecer una conexión SSH a una VM mediante SSH en el navegador, puedes usar esa conexión para transferir archivos hacia y desde la VM.
Sube elementos a la VM
- En la consola de Google Cloud, ve a la página Instancias de VM.
- In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.
Una vez establecida la conexión, haz clic en el ícono de carga
.Se abrirá el cuadro de diálogo de carga.
- Elige los archivos que deseas subir.
- Haz clic en Subir archivos para subir los archivos. El archivo se subirá al directorio
/home/USER
.
Descarga desde la VM
- En la consola de Google Cloud, ve a la página Instancias de VM.
- In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.
Una vez establecida la conexión, haz clic en el ícono de descarga
.Se abrirá el cuadro de diálogo de descarga.
- En el cuadro de texto Ruta de acceso, ingresa la ruta de acceso relativa al archivo que deseas descargar.
- Haz clic en Descargar para descargar el archivo. El archivo se descargará en la carpeta de descarga predeterminada de tu estación de trabajo.
Transfiere archivos con Google Cloud CLI
Google Cloud CLI proporciona una utilidad de transferencia de archivos mediante el protocolo de copia segura (SCP) a través de una conexión SSH establecida.
Para transferir archivos mediante SCP, haz lo siguiente:
-
Revisa las reglas de firewall y confirma que se permitan las conexiones SSH en el puerto
22
; si no crea una regla de firewall SSH. - Asegúrate de que gcloud CLI esté instalada en el dispositivo de origen que contiene los archivos que se transferirán.
-
Usa el comando
gcloud compute scp
para transferir los archivos a la máquina de destino.
En el siguiente ejemplo, se copia un archivo de la estación de trabajo al directorio principal de la VM:
gcloud compute scp LOCAL_FILE_PATH VM_NAME:REMOTE_DIR
Reemplaza lo siguiente:
LOCAL_FILE_PATH
: la ruta de acceso al archivo en tu máquinaVM_NAME
: El nombre de tu VMREMOTE_DIR
: un directorio en la máquina remota
También puedes copiar archivos y directorios a la inversa desde la máquina remota. En el siguiente ejemplo, se copia de forma recurrente un directorio de la fuente al destino:
gcloud compute scp --recurse VM_NAME:REMOTE_DIR LOCAL_FILE_PATH
Para obtener más información, consulta la documentación de referencia de gcloud compute scp
.
Transfiere archivos mediante SCP en estaciones de trabajo de Linux y macOS
La herramienta de línea de comandos de scp
funciona de manera similar al comando gcloud compute scp
, pero requiere que administres manualmente tus Llaves SSH.
Para transferir archivos mediante SCP, debes tener una regla de firewall en la red que la VM use y permita establecer conexiones SSH en el puerto 22
. Para verificar si estas reglas de firewall existen, busca una regla de firewall que permita conexiones de tcp:22
en la consola de Google Cloud.
Si no tienes una regla de firewall que permita conexiones SSH en el puerto 22
, crea la regla de firewall.
La herramienta de scp
usa los mismos archivos de claves que utilizas para conectarte a las instancias mediante SSH estándar.
Si todavía no aplicaste una clave pública al proyecto o la instancia de VM de la consola de Google Cloud, crea un par de claves SSH y agrega la clave pública al proyecto o metadatos de instancia.
Busca la IP externa de la VM a la que deseas enviar archivos. En la consola de Google Cloud, ve a la página Instancias de VM.
Usa la herramienta de
scp
para copiar un archivo de la estación de trabajo al directorio principal de la VM de destino. En este ejemplo, la clave privada se encuentra en~/.ssh/my-ssh-key
.scp -i ~/.ssh/my-ssh-key LOCAL_FILE_PATH USERNAME@IP_ADDRESS:~
Reemplaza lo siguiente:
LOCAL_FILE_PATH
: el nombre del archivo local que deseas subirUSERNAME
: tu nombre de usuarioIP-ADDRESS
: La dirección IP externa de la VM.
También puedes copiar archivos de una VM a tu estación de trabajo local si inviertes las variables de origen y destino. Para este ejemplo, debes copiar un archivo de la VM a una ruta en la estación de trabajo.
scp -i ~/.ssh/my-ssh-key USERNAME@IP_ADDRESS:REMOTE_FILE_PATH LOCAL_FILE_PATH
Reemplaza lo siguiente:
USERNAME
: tu nombre de usuarioIP_ADDRESS
: La dirección IP externa de la VM.REMOTE_FILE_PATH
: el nombre del archivo remoto que deseas descargarLOCAL_FILE_PATH
: la ubicación de la estación de trabajo en la que deseas descargar el archivo
Transfiere archivos mediante WinSCP en estaciones de trabajo de Windows
En las estaciones de trabajo de Windows, el cliente WinSCP te permite administrar archivos en las instancias a través de una interfaz gráfica de navegador de archivos.
WinSCP usa los mismos archivos clave que usas para conectarte a las VMs mediante PuTTY.
Haz lo siguiente si aún no configuraste la autenticación SSH basada en claves para tu instancia:
Crea un par de claves SSH con PuTTYgen. La clave SSH privada debe usar el formato
.ppk
, que es el predeterminado para las claves creadas por PuTTYgen.Agrega tu clave SSH pública a los metadatos de tu proyecto o a los metadatos de tu VM. Para obtener más información, consulta Agrega claves SSH a los metadatos del proyecto o Agrega claves SSH a los metadatos de la instancia.
Busca la IP externa de la VM a la que deseas enviar archivos.
- En la consola de Google Cloud, ve a la página Instancias de VM.
- En la lista de VM, busca la dirección IP externa en la columna IP externa de tu VM.
Descarga y, luego, instala WinSCP. La configuración de instalación predeterminada es suficiente para la mayoría de los usuarios.
Inicia el programa WinSCP. Se abre una ventana de acceso en la que puedes configurar tu conexión.
En WinSCP, configura los ajustes de conexión.
Selecciona
SCP
como el protocolo de transferencia de archivos en el campo Protocolo de archivo.En el campo Nombre de host (Host name), especifica la dirección IP externa de la VM a la que deseas conectarte.
En el campo Nombre de usuario (User name), especifica el nombre de usuario de Google que usas para acceder al proyecto. En este ejemplo, el usuario es
example-user
.
Haz clic en el menú desplegable Avanzado (Advanced) para abrir la configuración avanzada y navega a SSH > Autenticación (Authentication).
En el cuadro Archivo de claves privadas, especifica la ruta de acceso al archivo de claves privadas del par de claves SSH que creaste para la VM.
Haz clic en Aceptar (Ok) para guardar la configuración avanzada.
Haz clic en Iniciar sesión para conectarte a la instancia. Si la conexión es exitosa, la ventana abre el sistema de archivos local a la izquierda y el sistema de archivos de la VM a la derecha. Puedes navegar a diferentes directorios en estos sistemas de archivos y arrastrar archivos para transferirlos desde la VM y hacia ella.
Es posible que no tengas permiso para administrar la mayoría de los archivos fuera de tu directorio principal de la VM. Navega al directorio de inicio de la VM:
/home/USERNAME
Usa la interfaz de WinSCP para mover los archivos entre la estación de trabajo y la VM.
Después de copiar los archivos a la VM, conéctate a la instancia para que puedas ejecutar o mover archivos con permisos
sudo
completos.
¿Qué sigue?
- Conéctate a las instancias para usar los archivos que subiste.