Coincidence has it that I have a RPi 3 B+ arriving in the mail today.
You don’t need to install Ubuntu on it. Raspbian will do just fine and it is also based on Debian, just like Ubuntu. Is your Pi 3 a B+ or an A+? I’m asking because I believe there are WiFi speed differences between the two. B+ supports b/g/n< not sure about A+. Either way - they both have an UTP port and I believe it’s a Gigabit one. So transfer rates should be OK as long as you’re using a cable and a decent router.
You now have three options:
1. You create a FTP server on the Pi 3 by installing something like proftpd:
sudo apt install proftpd
FTP servers tend to have good transfer rates but they’re just FTP servers. You upload and download files and that’s all you can do with them.
2. You install a VPN either on the Pi 3 (Say OpenVPN) or - even better - if you have a dedicated router that has VPN capabilities you create a VPN tunnel to the Pi 3. You can then access that VPN from another location to get access to the Pi 3.
Now on the Pi 3 you can install Samba
sudo apt install samba
and then create a shared folder just like you would in a LAN.
Whenever you log on to your remote LAN through the VPN the share will be accessible from the outside (via login credentials of course).
3. You create an upload/download webserver. You install Apache, PHP and MySQL (a LAMP server basically)
sudo apt install apache2 php libapache2-mod-php php-mysql mysql-server
and find a PHP script that is capable of letting you upload/download files. Then you forward port 80 on the router (or, if also acting as a router, on the Pi 3) so that it is open to external browsers. You password-protect that webpage via a .htaccess and a .htpasswd file and use your browser to access the server via a static IP (or, if using a dynamic IP, you can use a free/commercial dynamic DNS provider to always have acces to that changing IP via a web URL). You could even install Joomla! or Wordpress or another CMS on that webserver and seek a plugin used for uploading/downloading files. This last option requires more work and configuration but opens up only port 80 to the world.
Options #1 and #3 can also be implemented inside a VPN environment, for extra safety measures. A Pi 3 can handle all the sollutions above as it has a 1,4GHz CPU and 1GB RAM (at least my Pi 3 B+ does). Plenty of processing power for a FTP server, a fileserver or a webserver. Or all three, if you wish it so. You being the single user (I presume) they can all run without hickups and handle multiple logins and/or connections.
I for one would opt for #2, but it depends on what you need the Pi 3 to be (and do).
PS: I forgot for a moment, but you can also use SSH and
scp to transfer files:
sudo apt install ssh sshd