If you are trying to manage your Raspbmc device over (S)FTP via FileZilla then you may have ran into a few confusing issues that I did as well so this tutorial is an attempt to make it easier and provide a step by step guide to the process. There is information scattered across the net to figure this out but I couldn't find a self-contained tutorial so I decided to do it. openELEC users, don't worry I didn't ignore y'all (yes, I'm a southerner), when there are differences I will point out the differences in openELEC.
Why would I want to use (S)FTP to manage my Raspbmc (XMBC)?
Well there are many reasons so it is hard to narrow it down to all the options that are available to everyone but I will give you the reasons I wanted it.
- Easily move addon zip files to the /home directory so I can easily install addons (turns out there is an even easier option for this, for a later tutorial)
- Editing the favourites.xml file in order to edit your favorites directly in the xml...not for everyone but very handy for me.
- View & Edit config files or addon data for any installed Addons.
- Editing Keyboard Shortcuts which cane be done in /home/pi/keymaps/keyboard.xml (should probably make a tutorial for this too)
- Customizing the Seek Controls for how much time is skipped forward and backward in a video.
I'm sure that many of you can think of more reasons to manage your Raspbmc via FTP but this should give you some good ideas of what you can do with this...now lets get to the tutorial.
Before I go any further, for those of you using openELEC the process is basically the same except for the Username & Password used to login but I will provide that as well in the tutorial. I won't refer to openELEC much just because I chose to use Raspbmc for my Pi so I am more familiar with it...though if there are any problems for you when using openELEC I will revise this tutorial or make a new one for openELEC users. (just let me know in the comments below)
SFTP vs FTP Note:
SFTP is basically the same thing as FTP but it process the FTP transfers through a SSH security layer. This should be the option you ALWAYS choose because security is a VERY important aspect that should be considered. In this case, it isn't required because these transfers are going to be sent over your Local Area Network (LAN) ONLY so any threats would have to be already on your LAN to intercept the data. If you have some unwanted user on your LAN then you have bigger problems. - With that said, just because you don't have to doesn't mean you shouldn't use SFTP so, USE IT and enjoy that little bit of extra peace of mind.
Raspbmc comes with built-in support for FTP so we don't have to make any changes in Raspbmc or XBMC to get FTP function ready which is very nice since that could have been a pain in the butt. :) Thanks to the Raspbmc project for including this we can just skip that aspect and go right to connecting. (openELEC also comes with built-in support)
Step #1: Finding the IP of your Raspberry Pi
On the homescreen of Raspbmc/XBMC (assuming you are using the Confluence skin, otherwise you will need to locate it in your skin) scroll all the way to the right where it says "System", then down to "System Info" and select this option.
On the next screen it will list your current settings for the system in the Summary page, selected by default. The IP will be listed as the second item, save this info in a text file, your clipboard or something...or if you are "retro" grab a piece of paper and a pen to write it down. Note* - Home networks almost always start with 192.168.?.?
Step #2: Open FileZilla & Open the Site Manager (or install it if you don't have it...then open it)
In the main menu, choose File -> Site Manager. Wow, this step was pretty short...maybe I should have just added to something else. Oh well.
Step #3: Add your Raspberry Pi as a Site in your FileZilla
In the Site Manager, choose "New Site" button in the bottom left of the window. Name the new site whatever you want...I just put "Raspbmc" but it can be absolutely anything, it doesn't actually matter.
There are Four (4) tabs for adding/editing a site but you should only need to edit the first two tabs, General & Advanced.
In the General tab, you need to edit the following options:
- this is where you place the IP that we retrieved earlier
- change this to SFTP for added security via SSH
- set this to "Normal"
- pi for Raspbmc users
- root for openELEC users
- raspberry for Raspbmc users
- openelec for openELEC users
In the Advanced tab there is only one thing you need to edit:
Default remote directory
- /home/pi/.xbmc (Raspbmc)
- I'm not sure what it is for openELEC, I'll install it to a spare sdcard as soon as I have time to figure it out...if someone knows already please comment below.
or alternative directories to use:
- /media (open directly to USB mounted drives)
/media/<UUID>or<Volume Name> (open directly to specific USB drive, replace the last value with the actual UUID or Name of the drive)
- /media/SanDisk (example using the default value for SanDisk drives)
In the Transfer Settings tab and the Charset tab:
- You should not have to edit anything in these tabs but just in case Screenshot #5 & #6 are for these tabs. I am almost certain you won't need to edit these but these are my current settings just in case.
Click the "Connect" button to test it and if it logs in then you're done. A dialog box may pop up and ask you for your verification to trust the certificate from Raspbmc, go ahead and accept that and it should connect just fine. If it doesn't work feel free to reply below in the comments and I will help you figure it out.
I hope this tutorial will be found useful and if so please reply to let me know it wasn't a complete waste of my time to make it. :)
Edit: thanks to "Nicholas" in the comments for reminding me to use SFTP...technically it isn't needed but there is no reason not to use it so SFTP steps added to the tutorial.