Para transferir archivos a instancias de VM de Compute Engine, hay diferentes opciones disponibles según el sistema operativo de su estación de trabajo y el sistema operativo de la instancia de VM de destino.
Transferir desde | A máquinas virtuales Linux |
---|---|
Linux o macOS | ventanas |
Transferir archivos a través de Cloud Storage
Los depósitos de Cloud Storage se pueden utilizar como punto de transferencia entre usted y sus máquinas virtuales. Puedes usar un navegador web, la CLI de Google Cloud o un lenguaje de programación para transferir archivos entre Cloud Storage y las VM de Compute Engine.
Se pueden utilizar diferentes tipos de credenciales para el paso de carga y descarga para satisfacer mejor sus necesidades:
- Acceder a los datos en nombre de un usuario es mejor para operaciones de un solo uso o recursos de los que usted es el principal responsable.
- Considere las credenciales de la cuenta de servicio para implementaciones escaladas y escenarios de recursos compartidos.
Para usar Cloud Storage para transferir archivos entre una computadora y una VM, haga lo siguiente:
- Crea un depósito de Cloud Storage si no tienes uno existente para usar en transferencias de archivos.
- Utilice permisos de IAM para modificar el acceso al depósito:
- Las cuentas que cargan archivos en el depósito deben tener otorgado el administrador de objetos de almacenamiento .
- Las cuentas que descargan archivos deben tener otorgada la función Visor de objetos de almacenamiento .
- Inicie sesión en el dispositivo de origen y cargue los archivos en el depósito.
- Inicie sesión en el dispositivo de destino y descargue los archivos del depósito para completar la transferencia de archivos.
- Opcional: elimine los archivos que ya no necesite para evitar cargos por almacenamiento no deseados.
Si necesita transferir archivos en la otra dirección, puede revertir el proceso. Asegúrese de que la cuenta que carga el archivo tenga acceso de escritura al depósito.
Transferir archivos usando SSH en el navegador
Si puede establecer una conexión SSH a una VM mediante SSH-in-browser , puede usar esa conexión para transferir archivos hacia y desde la VM.
Subir a la máquina virtual
- En la consola de Google Cloud, vaya a la página de 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, haga clic en el icono de carga
.Se abre el cuadro de diálogo de carga.
- Elija los archivos para cargar.
- Cargue los archivos haciendo clic en Cargar archivos . El archivo se carga en su directorio
/home/ USER
.
Descargar desde la máquina virtual
- En la consola de Google Cloud, vaya a la página de 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, haga clic en el icono de descarga
.Se abre el cuadro de diálogo de descarga.
- En el campo Ruta , ingrese la ruta relativa del archivo a descargar.
- Descargue el archivo haciendo clic en Descargar . El archivo se descarga en la carpeta de descarga predeterminada de su estación de trabajo.
Transferir archivos usando la CLI de Google Cloud
Google Cloud CLI proporciona una utilidad de transferencia de archivos del Protocolo de copia segura (SCP) a través de una conexión SSH establecida.
Para transferir archivos usando SCP, haga lo siguiente:
- Revise las reglas de su firewall y confirme que las conexiones SSH en el puerto
22
estén permitidas; si no, cree una regla de firewall SSH . - Asegúrate de que la CLI de gcloud 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.
El siguiente ejemplo copia un archivo desde su estación de trabajo al directorio de inicio de la VM:
gcloud compute scp LOCAL_FILE_PATH VM_NAME:REMOTE_DIR
Reemplace lo siguiente:
-
LOCAL_FILE_PATH
: la ruta al archivo en su máquina -
VM_NAME
: el nombre de tu VM -
REMOTE_DIR
: un directorio en la máquina remota
También puede copiar archivos y directorios a la inversa desde la máquina remota. El siguiente ejemplo copia recursivamente un directorio desde el origen 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 gcloud compute scp
.
Transfiera archivos usando SCP en estaciones de trabajo Linux y macOS
La herramienta de línea de comandos scp
funciona de manera similar al comando gcloud compute scp
pero requiere que administres manualmente tus claves SSH .
Para transferir archivos usando SCP, debe tener una regla de firewall en la red que usa su VM que permita conexiones SSH en el puerto 22
. Puede verificar que estas reglas de firewall existan buscando una regla de firewall que permita conexiones tcp:22
en la consola de Google Cloud.
Si no tiene una regla de firewall que permita conexiones SSH en el puerto 22
, cree la regla de firewall .
La herramienta scp
utiliza los mismos archivos de claves que usted utiliza para conectarse a sus instancias mediante SSH estándar .
Si aún no has aplicado una clave pública a tu proyecto de consola de Google Cloud o a tu instancia de VM, crea un par de claves SSH y agrega la clave pública a los metadatos del proyecto o de la instancia .
Busque la IP externa de la VM a la que desea enviar archivos.
En la consola de Google Cloud, vaya a la página de instancias de VM .
En la lista de máquinas virtuales, busque la dirección IP externa en la columna IP externa de la máquina virtual de destino.
Utilice la herramienta
scp
para copiar un archivo desde su estación de trabajo al directorio de inicio de la máquina virtual de destino. Para este ejemplo, la clave privada está en~/.ssh/my-ssh-key
.scp -i ~/.ssh/my-ssh-key LOCAL_FILE_PATH USERNAME@IPv4_ADDRESS:~
Para una dirección IPv6 externa, utilice la siguiente sintaxis:
scp -6 -i ~/.ssh/IDENTITY_FILE LOCAL_FILE_PATH USERNAME@[IPv6_ADDRESS]:~/
Reemplace lo siguiente:
-
IDENTITY_FILE
: el archivo que contiene la identidad (clave privada) para la autenticación de clave pública -
LOCAL_FILE_PATH
: el nombre del archivo local que desea cargar -
USERNAME
: su nombre de usuario -
IPv4_ADDRESS
oIPv6_ADDRESS
: la dirección IP externa de su VM
-
También puede copiar archivos desde una máquina virtual a su estación de trabajo local invirtiendo las variables de origen y destino. Para este ejemplo, copie un archivo de su VM a una ruta en su estación de trabajo.
scp -i ~/.sshIDENTITY_FILE USERNAME@IP_ADDRESS:REMOTE_FILE_PATH LOCAL_FILE_PATH
Reemplace lo siguiente:
-
IDENTITY_FILE
: el archivo que contiene la identidad (clave privada) para la autenticación de clave pública -
USERNAME
: su nombre de usuario -
IP_ADDRESS
: la dirección IP externa de su VM -
REMOTE_FILE_PATH
: el nombre del archivo remoto que desea descargar -
LOCAL_FILE_PATH
: la ubicación en su estación de trabajo donde desea descargar el archivo
Transfiera archivos usando WinSCP en estaciones de trabajo Windows
En estaciones de trabajo Windows, el cliente WinSCP le permite administrar archivos en sus instancias a través de una interfaz gráfica de explorador de archivos.
WinSCP utiliza los mismos archivos de claves que usted utiliza para conectarse a las máquinas virtuales mediante PuTTY .
Haga lo siguiente si no ha configurado la autenticación SSH basada en claves para su instancia:
Cree un par de claves SSH usando PuTTYgen . La clave ssh privada debe usar el formato
.ppk
, que es el formato predeterminado para las claves creadas por PuTTYgen.Agregue su clave SSH pública a los metadatos de su proyecto o a los metadatos de su VM. Para obtener más información, consulte Agregar claves SSH a los metadatos del proyecto o Agregar claves SSH a los metadatos de la instancia .
Busque la IP externa de la VM a la que desea enviar archivos.
- En la consola de Google Cloud, vaya a la página de instancias de VM .
- En la lista de máquinas virtuales, busque la dirección IP externa en la columna IP externa de su máquina virtual.
Descargue e instale WinSCP . La configuración de instalación predeterminada funciona para la mayoría de los usuarios.
Inicie el programa WinSCP. Se abre una ventana de inicio de sesión donde puede configurar los ajustes de su conexión.
En WinSCP, configure sus ajustes de conexión.
Seleccione
SCP
como protocolo de transferencia de archivos en el campo Protocolo de archivo .En el campo Nombre de host , especifique la dirección IP externa de la VM a la que desea conectarse.
En el campo Nombre de usuario , especifique el nombre de usuario de Google que utiliza para acceder a su proyecto. Para este ejemplo, el usuario es
example-user
.
Haga clic en la lista desplegable Avanzado para abrir la configuración avanzada y navegue hasta SSH > Autenticación .
En el cuadro Archivo de clave privada , especifique la ruta a su archivo de clave privada del par de claves SSH que creó para la VM .
Haga clic en Aceptar para guardar la configuración avanzada.
Haga clic en Iniciar sesión para conectarse a su VM. Si la conexión es exitosa, la ventana abre su sistema de archivos local a la izquierda y el sistema de archivos de la VM a la derecha. Puede navegar a diferentes directorios en estos sistemas de archivos y arrastrar archivos para transferirlos hacia y desde su VM.
Probablemente no tenga permiso para administrar la mayoría de los archivos fuera de su directorio de inicio de la máquina virtual. Navegue hasta el directorio de inicio de la VM:
/home/USERNAME
Utilice la interfaz WinSCP para mover archivos entre su estación de trabajo y la VM.
Después de copiar sus archivos a la VM, conéctese a su instancia para poder ejecutar o mover archivos con permisos
sudo
completos.
¿Qué sigue?
- Conéctese a sus instancias para usar los archivos que cargó.