Creating a server share using sshfs

  • Modify /etc/fuse.conf to uncomment the line: user_allow_other
  • Add the user to the fuse group:
adduser $USER fuse
  • relogin to get access

Connecting interactively:

sshfs -o allow_other,umask=117,uid=1002,gid=1002 myname@sv:/home/common /home/myname/common
  • allow_other # not needed here unless others can connect through this mount
  • umask=117,uid=1002,gid=1002 # controls how the files appear to this computer. If no uid or gid then the process that invokes the command will own it

Connecting through fstab

  • Note that it is best to connect on demand in case the network is not up when fstab runs originally
  • Four steps are required:
  1. Add user to fuse group
    • See above
  2. Insert entry into fstab of client computer
myname@sv:/home/common  /home/myname/common fuse.sshfs users,_netdev,noauto,x-systemd.automount,reconnect,allow_other,workaround=rename,umask=117,uid=1002,gid=1002 0 0
  • noauto # does not immidiately mount
  • x-systemd.automount # manually connects on demand if using systemd (not upstart)
  • workaround=rename # gets rid of some problems
  • _netdev # don’t try if no network
  • default_permissions # lets kernel check permissions—seems to conflict with setting uid/gid
  • reconnect # reconnect to server
  • users # not documented anywhere, but needed to allow users other than root to activate
  • Need to reboot system to get mountpoints activated
  1. Mount shares on logon
    • Can place a mount script in ./kde/Autostart e.g.
#!/bin/bash
# must already be in /etc/fstab
mount ~/common
mount ~/personal
  1. Enable password-less logon
    • See here: /how-create-password-less-ssh-login
    • Don’t forget to make sure server home directory is as least as secure as 750

References