FreeNAS and Remote Access
As I’ve written about before, I’ve set up a NAS (network attached storage) for our home by installing FreeNAS on an old PC. The NAS is used to store most of our files, things like documents, pictures, music, videos, etc. There are many reasons to use a NAS such as data integrity (using mirrored drives), data accessibility from multiple computers at home, data recovery, and data accessibility from remote locations.
To the last point, I wanted to be able to access my files remotely via the internet. The general idea was to have the NAS act as ftp server. However, this caused several problems. First, my ISP (telus) blocked the normal port used for ftp, port 21. Second, when accessing ftp via locations that are behind firewalls, a passive ftp connection is typically required instead of an active connection. This in turn causes more issues in terms of opening ports and port forwarding. Added to the mix is the inherent security risk of using ftp. When it was all said and done, I had a very difficult time being able to consistently use ftp.
To the rescue was a website I found that mention using Winscp for file transfers. I may be a bit off on this, but Winscp seems like the perfect solution. It transfers files with SSH, which means the data is encrypted and secure. As well, Winscp is free and that happens to be one of my favorite prices.
The setup was very simple. I opened port 22 on my router, configured SSH on FreeNAS, and ran Winscp. It was approximately 10.47x easier than ftp. I’m not using any public/private keys for the SSH, I’m not sure how important it is. One tip I read mentioned that Winscp can be carried around on a usb flashdrive such that you can run the program off of the drive from any PC. I suppose an SSH key could be stored on the drive too.