How to Transfer Files Between Machines

Machines are Linux and Windows virtual machines with persistent storage, GPU options, and free unlimited bandwidth. They’re designed for high-performance computing (HPC) workloads.


There are several methods to transfer files between your Paperspace machines or between a machine and your local device. Depending on your needs, you can use one of the following methods:

  • FileZilla: A graphical File Transfer Protocol (FTP) tool for transferring files between machines.

    • FileZilla Server: A cross-platform FTP server, used to transfer files securely between it and any FileZilla clients.
    • FileZilla Client: An open source FTP app, used to transfer files between it and an FTP server.
  • Windows’ Remote Desktop Protocol (RDP): A Windows feature to securely transfer files between machines.

  • scp (Secure Copy Protocol): A command line tool for secure file transfers.

  • wget (World Wide Web Get): An open source command line tool for downloading files from the internet, such as public storage buckets or URLs.

Prerequisites

If you’re moving 10 GB or more of data or models, we recommend first copying the files (cp) instead of moving them (mv) so the original files stay intact as a backup, and then using checksums to verify the file transfer. Once you confirm the transfer was successful, you can remove (rm) the original files.

Retrieve Public IP Address

Before you transfer your files, get the public IP address of the machine you want to transfer files to or from. To find your machine’s IP address, go to the Paperspace console, in the top-left corner, click the dropdown menu, select CORE, click Machines tab, then select the machine you want to get the IP address of.

From the machine’s overview page, in the top-right corner, click the Settings tab. In the Settings page, in the Public IP section, copy your machine’s IP address for later use.

If your machine doesn’t have a public IP address, assign a public IP address to your machine.

The IP address section of the machine's Settings page.

Transfer Files Using FileZilla

Set Up FileZilla Server

To configure your FileZilla Server, connect to the machine you want as the FileZilla Server, then download and install the FileZilla Server.

Once the FileZilla Server file is downloaded, set up your server, and configure its network and set the passive mode public IP address to the public IP address of the machine you’re using as the FileZilla Server. All the default settings should remain unchanged except for the public IP address.

Afterwards, add a user to your FileZilla Server.

To ensure your file transfers remain uninterrupted, disable all Windows firewalls on your machine.

Set Up FileZilla Client

To set up a FileZilla Client, connect to the machine you want as the client, then download and install the FileZilla Client.

Once you have your server and client set up, connect them, then begin transferring files.

For more general usage, you can refer to FileZilla’s documentation.

Transfer Files Using Windows’ RDP

Note
You can only use Windows’ RDP for Windows-based machines.

Set Up RDP Server

To set up an RDP Server, connect to the machine you want to use as the server, then enable Remote Desktop.

Afterwards, add users to your RDP Server. If the user is correctly identified, the username should change to the machine’s ID followed by the username, for example, for a Paperspace machine, PSLLCO7TVKWR\paperspace.

Connect Clients to RDP Server

To connect a client to your RDP Server, connect to the machine you want to use as a client, then retrieve the Windows’ password and its public IP address.

Then, specify the RDP Server by using the RDP Server’s IP address. You may need to use your machine’s Windows password and IP address for authentication.

After connecting your client to your RDP server, transfer files between them.

Transfer Files Using scp

Note
For Windows-based machines, install Windows Subsystem for Linux (WSL) in order to use scp.

Before using scp, ensure you have an SSH key to authenticate your file transfers.

To transfer files, connect to the machine you want to transfer files from, then run the following command to download a file:

scp -i ~/.ssh/your-key.pem ~/path/to/local_file paperspace@your-machine-ip-address:~/.

This scp command uses your SSH key, the old location of the file (for example, your local machine), and the new destination (for example, your Paperspace machine).

Transfer Files Using wget

To transfer files using wget, connect to the machine you want to download files for, then run the following command to download a file:

wget https://example.com/example-data-set.tar.gz