SCP is not the best option for copying directories. It has also problems with directory names containing spaces.
Use rsync. It never fails. Note however that if you try to copy files which have a different owner on the remote computer they will be owned by you on your local computer. If that is not the intention, issue the command as root. So you will write files on your local machine which root permissions.
In your example, the correct rsync command would be:
Code:
rsync -av --port=229 user@10.0.3.1:/path/to/directory/ ./
The slash behind directory is relevant. If it is there, it will not create ./directory on your local machine. If there is no slash, ./directory will be created. In either case copying is recursive.
The -a option will recursively copy the source directory, maintaining permissions and file creation times. There are a hundred more options to add to rsync. Check the man page if you need something more exotic.
jlinkels