Existen varias opciones para transferir archivos a instancias de Compute Engine que dependen del SO de tu estación de trabajo y el SO de la instancia de destino.
Transfiere desde | A instancias de Linux |
---|---|
Linux o macOS | |
Windows |
Transfiere archivos a través de Cloud Storage
Los buckets de Cloud Storage pueden ser un punto de transferencia intermedio muy conveniente entre tú y tus VM.
Este método de transferencia de archivos funciona en casi todos los sistemas operativos y tipos de VM, siempre y cuando la VM tenga acceso a tu bucket de Cloud Storage mediante una cuenta de servicio o tus credenciales de usuario personales.
Sube los archivos de la estación de trabajo a un bucket de Cloud Storage. Luego, descárgalos del bucket a las instancias.
- Crea un bucket de Cloud Storage o identifica un bucket existente que quieras usar para transferir archivos.
- En la estación de trabajo, sube los archivos al depósito.
- Conéctate a tu VM con SSH.
- En la VM, descarga los archivos desde el bucket.
Si necesitas transferir archivos en dirección opuesta, realiza el proceso a la inversa. Sube los archivos de la VM y, luego, descárgalos a la estación de trabajo.
Transfiere archivos con SSH en el navegador
Si puedes establecer una conexión SSH a una instancia mediante la ventana de la conexión SSH desde el navegador, puedes usarla para transferir archivos a la instancia.
- En la Consola de APIs, ve a la página Instancias de VM.
-
En la lista de instancias de máquinas virtuales, haz clic en el botón SSH de la fila de la instancia a la que quieres conectarte.
- Una vez establecida la conexión, haz clic en el ícono de ajustes en la esquina superior derecha de la ventana de SSH from the Browser y selecciona Subir archivo (Upload file). Como alternativa, puedes seleccionar Descargar archivo (Download file) para realizar esta acción desde la instancia.
- Se abre el cuadro de diálogo de la transferencia. Especifica el archivo que deseas transferir.
Si subiste un archivo, se encuentra en el directorio /home/$USER
del usuario.
Si descargaste un archivo, lo encontrarás en la carpeta de descarga predeterminada en tu estación de trabajo local.
Transfiere archivos con la herramienta de línea de comandos de gcloud
La herramienta de línea de comandos de gcloud
proporciona una utilidad de transferencia de archivos SCP y crea un par de Llaves SSH la primera vez que te conectas. La clave privada se guarda en el dispositivo local y su clave pública correspondiente se copia en los metadatos del proyecto o la instancia.
Para transferir archivos mediante SCP, debes tener una regla de firewall en la red que la instancia 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 Google Cloud Console.
Si no tienes una regla de firewall que permita conexiones SSH en el puerto 22
, crea la regla de firewall.
Puedes instalar la herramienta de gcloud
y usarla para copiar archivos y directorios en la instancia mediante el comando scp
.
En el siguiente ejemplo, se copia un archivo de la estación de trabajo al directorio principal de la instancia.
gcloud compute scp local-file-path instance-name:~
Reemplaza lo siguiente:
local-file-path
: la ruta de acceso al archivo en tu estación de trabajo.instance-name
: el nombre de tu instancia.
También puedes copiar archivos y directorios de una instancia a tu estación de trabajo local. En el siguiente ejemplo, se copia de forma recurrente un directorio de la instancia (la fuente) a la estación de trabajo local (el destino).
gcloud compute scp --recurse instance-name:remote-dir local-dir
Reemplaza lo siguiente:
instance-name
: el nombre de la instanciaremote-dir
: la ruta de acceso al directorio en tu instancialocal-dir
: la ruta de acceso donde deseas copiar el directorio en tu estación de trabajo
Para obtener más información, consulta la documentación de referencia gcloud compute scp
.
Transfiere archivos con 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 instancia 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 Google Cloud Console.
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 Google Cloud Console, obtén un par de Llaves SSH y aplica el archivo de la Llave SSH pública al proyecto o la instancia.
Busca la IP externa de la instancia a la que deseas enviar archivos. En Google Cloud Console, 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 en la instancia 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 de la instancia
También puedes copiar archivos de una instancia a tu estación de trabajo local si inviertes las variables de origen y destino. Para este ejemplo, debes copiar un archivo de la instancia 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 de la instanciaremote-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 con 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 través de PuTTY a las instancias.
Si todavía no aplicaste una clave pública al proyecto o la instancia de Cloud Console, obtén un par de Llaves SSH y aplica el archivo de la Llave SSH pública al proyecto o la instancia.
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.
Busca la IP externa de la instancia a la que deseas enviar archivos. En Google Cloud Console, ve a la página Instancias de VM.
En WinSCP, configura las opciones de conexión.
Establece el campo Protocolo de archivo (File protocol) en
SCP
.En el campo Nombre de host (Host name), especifica la dirección IP externa de la instancia 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 (Private key file), especifica la ruta de acceso de tu archivo de claves privadas. En este ejemplo, el archivo de claves es
my-ssh-key.ppk
.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 instancia a la derecha. Puedes navegar a diferentes directorios en estos sistemas de archivos y arrastrar archivos para transferirlos desde la instancia y hacia ella.
Es posible que no tengas permiso para administrar la mayoría de los archivos fuera de tu directorio principal en la instancia. Para navegar al directorio de inicio en la instancia, ingresa el directorio de inicio y
username
en el campo de la ruta de acceso en WinSCP./home/username
Usa la interfaz WinSCP para trasladar archivos entre tu estación de trabajo y la instancia.
Después de copiar los archivos a la instancia, 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.