It depends on what you want the user to be able to do. If you only want the user to upload/download files, an FTP server is a way (and in my opinion the easiest way).
My approach there is to create a normal user but set the shell to something like /bin/false or /bin/nologin (depending what is available on the system). This will block normal login access. Next setup (the user on) the FTP server. For the latter, you can have a look at the FTP section
of Miles Brennan's Linux Home Server HOWTO
If the user should be able to edit his/her files on the system, SSH is the way. It is however more complicated to jail the user to their home directory in my opinion. You can search for ssh jail to find the information.