If you’ve read my last article on How To Help Others Remotely , you’ll have noticed that for the most part, they were for temporary solutions. For the majority of those, you wouldn’t be using them for continual support, such as accessing your own computer while you are away from the house/office/etc. For example, have you ever been sitting at school when you realized that your favorite (legal to BitTorrent, of course) TV show came out last night, but you forgot to watch? Well fear not, you can quickly log on to your home computer and get the download going so it’s ready to watch by the time you get home. Or, have you ever forgot a crucial file on your home computer that you needed for a homework assignment or presentation? Well fear not, there are ways to help you never be left in the cold again.
If you recall, Teamviewer was one of my favorite programs for quick access to other’s computers. Just get them to download a small file, give you an account number + password, and you’d be all set to help whoever was on the remote end. Obviously, you wouldn’t be able to OK everything if you’re not at the computer you want to access, so TeamViewer allows you to set up a dedicated solution. Simply sign up for an account, and then add a username/password to your desktop client, and you’ll be able to access the computer it’s configured on wherever you’ve got computer access.
My personal favorite program and method of choice is a bit different. It does require a bit more work, though I believe that the rewards are worth the effort. It doesn’t necessarily require any outside services, which limits the failures to your end. The method I prefer is by using a VNC Client and server. For the free option, we’ll be going with UltraVNC. The beauty of VNC is the ability to completely control every aspect of the remote computer while you’re not there.
While you can send files through the VNC interface (or through TeamViewer, for that matter), generally other methods work better. Why mess with others when you can stick with the tried and true FTP server? I prefer to use the free open source and cross platform FileZilla. Similar to opening ports for VNC, you’ll need to open / forward ports to your home computer. The same ports can NOT be used for both, so choose something you’ll remember.
You’ll need to set up your router to push any traffic meant for the server toward your PC. This is accomplished through port forwarding on your router. Shane has an excellent article all about routers that should have nearly anything you need to know. Essentially, you’ll look for your home computer’s MAC Address, and assign that a static IP on your internal network. From there, you can forward any ports to that computer, where you’ll always be able to access the server. As an example, if you have your VNC server open on port 54000, you’ll need to forward port 54000 on your router to your host computer. Also, be sure to have that port open on your computer’s firewall, else any packets will be lost between the router and server.
You’ll need to set up a user that you use to access the FTP server. Depending on how risky you want to be, you can set up a user with less power so that if your credentials leaked out, the account wouldn’t be able to do too much damage. For example, if you set up a user that would only be able to have read access to your ‘My Documents’ folder, the worst they could do was read the contents of that folder.
An even better solution to the limited user would be to create certificates that you need to have in order to access the server. You would place the certificate on both the server, and any remote clients you wished to access the server with. I use this method along with an online storage of the file (email, Dropbox, etc) to help prevent against any unusual access.
An important note about any server you run, DO NOT run the services on the default ports. People with malicious intentions will often scan random IP ranges for open ports, and if you have the default ports open for FTP or other servers, you could be at risk. Be sure to cross reference your ports with this site in order to not be on default ports that could suggest you were hosting a server. Pick something that is easy to remember, such as a birthday (11506), favorite number (22223), or part of a phone number (31554). And, as said before, you must use a different port for each service.
Once you have your server(s) running, you’ll probably want to know some information about how to access it remotely. After all, why bother setting it up if you won’t be able to use it? I recommend using an online service such as DynDNS to automatically remember your home IP. Unless you are on a static IP address, this (or some similar service) is necessary due to the potential rate that your home IP can change. With a service such as what DynDNS offers, you will essentially have a static IP address. Usually you just plug this information into your router, and it will automatically update your IP with the DynDNS servers every so often. This way all you need to remember is something like BitsBytesVNC.gotdns.org:12345, instead of 188.8.131.52:12345.
Other services / products you may consider include GoToMyPC, Remote Desktop through Windows, Mac, or Linux. For file access, syncing to SkyDrive, Mobile Me, email, or even syncing to a thumbdrive that you always take with you. As said before on the RsbandbUpdate! podcast, I’m a huge fan of Dropbox. By using Dropbox, or a combination with other utilities (SyncToy for example), one can make sure any files can be updated and synced to the cloud automatically. Then, just log in to your account wherever you are, and you should be able to access anything from your home computer that Dropbox has access to. Other services should be comparable, but I’ve found that Dropbox is great for what it does; keeping files synced across multiple PCs and storing a backup online.