[10] | 1 | Abstract |
---|
| 2 | ======== |
---|
| 3 | |
---|
| 4 | This is a filesystem client based on the SSH File Transfer Protocol. |
---|
| 5 | Since most SSH servers already support this protocol it is very easy |
---|
| 6 | to set up: i.e. on the server side there's nothing to do. On the |
---|
| 7 | client side mounting the filesystem is as easy as logging into the |
---|
| 8 | server with ssh. |
---|
| 9 | |
---|
| 10 | The idea of sshfs was taken from the SSHFS filesystem distributed with |
---|
| 11 | LUFS, which I found very useful. There were some limitations of that |
---|
| 12 | codebase, so I rewrote it. Features of this implementation are: |
---|
| 13 | |
---|
| 14 | - Based on FUSE (the best userspace filesystem framework for Linux ;) |
---|
| 15 | |
---|
| 16 | - Multithreading: more than one request can be on it's way to the |
---|
| 17 | server |
---|
| 18 | |
---|
| 19 | - Allowing large reads (max 64k) |
---|
| 20 | |
---|
| 21 | - Caching directory contents |
---|
| 22 | |
---|
| 23 | - Reconnect on failure |
---|
| 24 | |
---|
| 25 | Latest version |
---|
| 26 | ============== |
---|
| 27 | |
---|
| 28 | The latest version and more information can be found on |
---|
| 29 | |
---|
| 30 | http://fuse.sourceforge.net/sshfs.html |
---|
| 31 | |
---|
| 32 | |
---|
| 33 | How to mount a filesystem |
---|
| 34 | ========================= |
---|
| 35 | |
---|
| 36 | Once sshfs is installed (see next section) running it is very simple: |
---|
| 37 | |
---|
| 38 | sshfs hostname: mountpoint |
---|
| 39 | |
---|
| 40 | Note, that it's recommended to run it as user, not as root. For this |
---|
| 41 | to work the mountpoint must be owned by the user. If the username is |
---|
| 42 | different on the host you are connecting to, then use the |
---|
| 43 | "username@host:" form. If you need to enter a password sshfs will ask |
---|
| 44 | for it (actually it just runs ssh which ask for the password if |
---|
| 45 | needed). You can also specify a directory after the ":". The default |
---|
| 46 | is the home directory. |
---|
| 47 | |
---|
| 48 | Also many ssh options can be specified (see the manual pages for |
---|
| 49 | sftp(1) and ssh_config(5)), including the remote port number |
---|
| 50 | ('-oport=PORT') |
---|
| 51 | |
---|
| 52 | To unmount the filesystem: |
---|
| 53 | |
---|
| 54 | fusermount -u moutpoint |
---|
| 55 | |
---|
| 56 | |
---|
| 57 | Installing |
---|
| 58 | ========== |
---|
| 59 | |
---|
| 60 | First you need to download FUSE 2.2 or later from: |
---|
| 61 | |
---|
| 62 | http://fuse.sourceforge.net |
---|
| 63 | |
---|
| 64 | You also need to install the devel package for glib2.0. After |
---|
| 65 | installing FUSE, compile sshfs the usual way: |
---|
| 66 | |
---|
| 67 | ./configure |
---|
| 68 | make |
---|
| 69 | make install (as root) |
---|
| 70 | |
---|
| 71 | And you are ready to go. |
---|
| 72 | |
---|
| 73 | If checking out from CVS for the first time also do 'autoreconf -i' |
---|
| 74 | before doing './configure'. |
---|