Transfiere archivos a VM de Linux


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.

Transfiere desde A las VM 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.

  1. Crea un bucket de Cloud Storage o identifica un bucket existente que quieras usar para transferir archivos.
  2. En la estación de trabajo, sube los archivos al depósito.
  3. Conéctate a la VM mediante SSH.
  4. 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 mediante SSH en el navegador

Si puedes establecer una conexión SSH a una VM mediante la ventana de SSH desde el navegador, puedes usar esa conexión para transferir archivos a la VM.

  1. En la Consola de APIs, ve a la página Instancias de VM.

    Ir a la página Instancias de VM

  2. 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.

  3. 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 VM.
    Menú de ícono de ajustes
  4. 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 VM de la instancia.

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 Google Cloud Console.

Ir a Reglas de firewall

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 VM mediante el comando scp.

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:~

Reemplaza lo siguiente:

  • LOCAL_FILE_PATH: la ruta de acceso al archivo en tu estación de trabajo.
  • VM_NAME: El nombre de tu VM.

También puedes copiar archivos y directorios de una VM a tu estación de trabajo local. En el siguiente ejemplo, se copia de forma recurrente un directorio de la VM (la fuente) a la estación de trabajo local (el destino).

gcloud compute scp --recurse VM_NAME:REMOTE_DIR LOCAL_DIR

Reemplaza lo siguiente:

  • VM_NAME: El nombre de la VM
  • REMOTE_DIR: la ruta de acceso al directorio en tu VM
  • LOCAL_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 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 Google Cloud Console.

Ir a Reglas de firewall

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.

  1. Si todavía no aplicaste una clave pública al proyecto o la instancia de VM de Google Cloud Console, crea un par de claves SSH y agrega la clave pública al proyecto o metadatos de instancia.

  2. Busca la IP externa de la VM a la que deseas enviar archivos. En Google Cloud Console, ve a la página Instancias de VM.

    Ir a Instancias de VM

  3. 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 subir
    • USERNAME: tu nombre de usuario
    • IP-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 usuario
  • IP_ADDRESS: La dirección IP externa de la VM.
  • REMOTE_FILE_PATH: el nombre del archivo remoto que deseas descargar
  • LOCAL_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 través de PuTTY a las instancias.

  1. Haz lo siguiente si aún no configuraste la autenticación SSH basada en claves para tu instancia:

    1. Crea un par de claves SSH.

    2. 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.

  2. Busca la IP externa de la VM a la que deseas enviar archivos.

    1. En Google Cloud Console, ve a la página Instancias de VM.

      Ir a Instancias de VM

    2. En la lista de VM, busca la dirección IP externa en la columna IP externa de tu VM.
  3. Descarga y, luego, instala WinSCP. La configuración de instalación predeterminada es suficiente para la mayoría de los usuarios.

  4. Inicia el programa WinSCP. Se abre una ventana de acceso en la que puedes configurar tu conexión.

  5. En WinSCP, configura los ajustes de conexión.

    1. Selecciona SCP como el protocolo de transferencia de archivos en el campo Protocolo de archivo.

    2. En el campo Nombre de host (Host name), especifica la dirección IP externa de la VM a la que deseas conectarte.

    3. 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.

      Establece el protocolo de archivo en SCP, el nombre de host en 104.196.31.103 y el nombre de usuario en example-user.

  6. Haz clic en el menú desplegable Avanzado (Advanced) para abrir la configuración avanzada y navega a SSH > Autenticación (Authentication).

  7. 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.

    Configuración del archivo de claves privadas como my-ssh-key.ppk en el cuadro de diálogo de la configuración avanzada del sitio.

  8. Haz clic en Aceptar (Ok) para guardar la configuración avanzada.

  9. 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.

  10. 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
    
  11. Usa la interfaz de WinSCP para mover los archivos entre la estación de trabajo y la VM.

  12. 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?