26

Is there a way to transfer files between remotely connected computers with the Google Chrome Remote Desktop plugin?

If not, is there a simple way I can transfer files between connected computers?

10
  • 2
    Does this extension even support this feature?
    – Ramhound
    Commented Dec 21, 2012 at 13:38
  • @Ramhound Looks like it. From the webstore: 'Computers can be made available ... for remote access to your applications and files.'
    – mcalex
    Commented Dec 21, 2012 at 13:43
  • @Mcalex But that has nothing to do with a transfer though.
    – Dave
    Commented Dec 21, 2012 at 13:44
  • Yeah I see. I just figured if you could access it you should be able to save it. On closer read, it doesn't look like it is available as a feature
    – mcalex
    Commented Dec 21, 2012 at 13:48
  • @mcalex - That doesn't indicate files can be transfered.
    – Ramhound
    Commented Dec 21, 2012 at 13:51

4 Answers 4

25

Yes, yes you can. As of very recently (This week? This month? Just now today? [This is the first time I've seen it]) Chrome Remote Desktop has moved from being a stand-alone program you download and launch through the Chrome Store, to an in-browser app you launch from a website: https://remotedesktop.google.com.

[Tested 27 June 2019]

With this change comes a brand-new file transfer feature! When you log in you have this menu on the right-hand side of your screen:

enter image description here

If you don't see that, hover on the right until you see a little blue arrow pointing to the left, and click it, as this menu is hide-able.

1. To download from remote to local:

To Download a file from the remote machine to your local machine (host) click the "Download file" button. It will open up a "Download File" file manager window on the remote machine. Choose a file and click "Open." The file is transferred through the network and a GUI file manager "Save File" window will magically open up on your local (host) machine. Choose a location and save the file.

Done. The file is on your local machine in the folder you chose to save it in.

2. To upload from local to remote:

To Upload a file from your local (host) machine to your remote machine, click the "Upload file" button. It will open an "Open File" file manager window on your local machine. Choose a file (bug alert: you MUST click on the file again with your mouse even if it is already selected or else this won't work for me) and click "Open". Under the "File Transfer" dialog shown above, you'll see an "Uploading" indicator show up with a file transfer progress bar. When completed, you'll see the following notification pop up on the bottom of your remote desktop screen: "Upload complete. Look for the file on the remote device's desktop."

enter image description here

Done. The file is on your remote computer's desktop.

2
  • 1
    I just tried it on macOS Catalina, but the right-side menu didn't have a File Transfer section. Looks like either the feature was removed or it's not available on macOS.
    – Alex Wally
    Commented May 11, 2020 at 2:29
  • 1
    @AlexWally I haven't tested on MacOS, but maybe your MacOS is an old version and only supported an old version of Chrome. I just tried Chrome Version 103.0.5060.66 (Official Build) (64-bit) in Windows and it worked.. Is the version of Chrome on your Mac as late/up to date as that one?
    – barlop
    Commented Jul 3, 2022 at 0:40
29

This is kind of a joke answer but since copy and paste is supported between the target and the host, the geeky way to copy a file without resorting to intermediate cloud storage would be to:

  1. On the source: use any available encoder to convert the file to Base64/UUEncode so you can copy the data with Ctr+C.
  2. On the target: paste the data to a text file and decode it with any available decoder.

Python-based solution

First, on the source machine fire up a Python console and type:

 base64data = open('myfile.jpg','rb').read().encode('base64')
 open('myfile.txt','w').write(base64data)

Next, open the file myfile.txt with a text editor and copy the contents. Then on the target machine paste the contents into a new file named myfile.txt and in a console type:

data = open('myfile.txt').read().decode('base64')
open('myfile.jpg','wb').write(data)

These snippets can be extracted to scripts in order to avoid typing every time.

GUI based solution (Windows)

If you don't have Python or if both your machines are running Windows and you have Total Commander installed then the steps are simpler:

  1. On the source: select your file and then pick Files > Encode file. A corresponding .b64 will be created in the other panel - open it (F3) and copy the contents (Ctr+a, Ctr+c).

  2. On the target: paste into a new file with .b64 extension and then use Files > Decode file.

Another alternative app is notepad++ with the built-in mimetools plugin that does base64 encoding/decoding (Plugins -> Mime Tools > 64 Encode/Decode).

Command line solutions (OSX, Linux, Windows)

OSX and most Linux systems typically come with more than one flavour of console base64 encoders. This should work ootb without having to install anything:

## encode to base64
openssl base64 -in myfile.jpg -output myfile.jpg.b64
## OR on some systems `-out` should be used instead of `-output`
openssl base64 -in myfile.jpg -out myfile.jpg.b64

## encode to base64 on Windows (recent versions)
certutil -encode myfile.jpg myencodedfile.jpg.b64

## decode from base64
openssl base64 -d -in myfile.jpg.b64 -output myfile.jpg
## OR on some systems `-out` should be used instead of `-output`
openssl base64 -d -in myfile.jpg.b64 -out myfile.jpg

## decode base64 on Windows
certutil -decode myencodedfile.jpg.b64 myfile.jpg

Omitting the -output... part will print to standard output.

Another ootb utility present both in OSX and Ubuntu:

## encode to base64
base64 < myfile.jpg > myfile.jpg.b64


## decode from base64 (Linux) (note the lowercase 'd')
base64 -d < myfile.jpg.b64 > myfile.jpg

## decode from base64 (OSX) (note the uppercase 'D')
base64 -D < myfile.jpg.b64 > myfile.jpg

Piping directly to clipboard (avoiding intermediary files)

It is possible to encode directly to the clipboard if you have the corresponding command line tools on the source/target OS.

On OSX there are the built-in pbcopy and pbpaste, on Linux (in xorg), there is xclip, and on Windows there is clip.exe, which means that encoding a file to clipboard can be simplified to (e.g. for OSX):

base64 < myfile.jpg | pbcopy

And the proper way...

Jokes aside now.. If you need to transfer files between two machines (no matter what you use to connect) then use SSH which provides scp. If one or both boxes are behind firewalls/routers then use a jump server (i.e. an internet-exposed server, could be a VPS). You'll need to have an always-on link from your destination box to the jump server, configure port forwarding and then use SCP over the forwarded port on the jump server. In a A->B->C hop scenario you'll need an SSH client on A, and running SSH servers on both B and C.

Once you have the outgoing connection and port forwarding configured from box C (which can be tricky if you've never done it before) you can connect over SSH from box A with a profile defined in your ~/.ssh/config file similar to:

Host jump
    Hostname hostname_C
    User username_C
    Port portnumber_C
    ProxyJump username_B@hostname_B:portnumber_B

Once you have it all set up you can copy files/folders simply with:

scp -r /some/local/dir jump:remote_dir

or from remote to local:

scp -r jump:remote_dir/subdir /my/local/machine/path

remote_dir will be relative to the user's home.

NOTE: This does not cover all the steps, as this is beyond the scope of the original question, but you can use for example Chrome Remote Desktop in order to establish the SSH link from your box C to box B (the jump server), and then from box A 'transparently' connect to C via B.


And finally, if you want a nicer text-mode GUI than scp then consider using Midnight Commander — mc (apt install mc) where you can connect e.g. with Left -> Shell Link: type your target box user@IP or your alias configured in ~/.ssh/config such as jump in the example above.

Transfer files over SSH with Midnight Commander:

Transfer files over SSH with Midnight Commander

4
  • 6
    Even though this does not actually fix my issue. (My file is over 100mb and clipboard will not accept that). I feel I need to upvote this anyway. Just because this answer exists.
    – WORMSS
    Commented Jan 12, 2015 at 9:37
  • 1
    For big files a possible solution might be to (1) compress the file to reduce size (2) split to maximum accepted size, e.g. split -b 10m myfile.zip (just a guess, no idea what the maximum allowed size is) (3) base64 encode the files (4) copy contents one by one (5) decode and re-assemble the parts on the target machine. Even though steps 1,2,3,5 can be scripted, step 4 will still have to be done manually, although I guess even this can be automated with something like Sikuli although this can be get way too ridiculous...
    – ccpizza
    Commented Jan 15, 2016 at 12:30
  • Clipboard share is not supported if the remote client is a mobile host (iOS or Android). Commented Apr 23, 2019 at 11:41
  • 1
    @RossPresser: the answer is more of a joke than an actual solution; a proper solution would be to set up an SSH tunnel, and if one or both machines are behind intranets then use your own jump server — then you can mount the remote machine to your local file system (or the other way round).
    – ccpizza
    Commented Apr 23, 2019 at 19:49
13

Yes. This answer from Gabriel Staples, answers it https://superuser.com/a/1453775/146314 and the accepted answer should be changed to that. It is now possible in Chrome remote desktop, to transfer files.

Details about Chrome RDP

This can't be done. As a work around, you could always email it to yourself though, or use Google Drive / drop box or similar.

2
  • you write ". As a work around, you could always email it to yourself though, or use Google Drive / drop box or similar." <-- terrible solution.. dropbox and google drive are limited in capacity.
    – barlop
    Commented Jul 3, 2022 at 0:24
  • This answer is so misleading. It looks like you are saying it can't be done.. Quite frankly you should delete this answer. Or use cross through, and say the correct answer is superuser.com/a/1453775/146314
    – barlop
    Commented Jul 3, 2022 at 0:34
3

To transfer files, just use your Google Drive. You have to be logged into your Google account in order to use Chrome Remote Desktop, so just open Google Drive, drop your file into it. Once it uploads, open Google Drive on your remote computer and pull it out of Google Drive to the desktop or folder of your choice!

3
  • What about giving support via Chrome RDP? Commented May 29, 2020 at 18:51
  • no this is a terrible solution because there is a file size limit
    – barlop
    Commented Jul 3, 2022 at 0:30
  • @ZverevEvgeniy Chrome RDP has two options, access(for you to deal with your own computers, so, more permanent codes), and support(for you to deal with other peoples computers, a bit like classic use of teamviewer,, temporary codes). I've tested chrome remote desktop access, and it has a right hand menu as one of the answers here shows. Chrome remote desktop, support, probably has an option too
    – barlop
    Commented Jul 3, 2022 at 0:31

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .