These are the helper scripts I use to set up SSH mountpoints.
Usage:
# mounts someguy's home directory (/home/someguy) at # somesite.com to local mountpoint ~/mnt/sshfs/somesite.com mount-sshfs.sh someguy somesite.com # unmounts somesite.com umount-sshfs.sh somesite.com
We’ll need sshfs for this one…
sudo apt-get install sshfs
This script, mount-sshfs.sh
, mounts the SSH/SFTP connection:
#!/bin/bash USERNAME=$1 SITENAME=$2 BASEDIR=${HOME}/mnt/sshfs if [ -z "$1" -o -z "$2" ] ; then echo Usage: echo " $0 USERNAME SITENAME.COM" echo exit 1; fi if [ -e $BASEDIR/$SITENAME/ ] ; then echo Mount-point found. Re-mounting.. umount-sshfs.sh $SITENAME fi if [ ! -d $BASEDIR/$SITENAME/ ] ; then mkdir -p $BASEDIR/$SITENAME/ fi echo echo Mounting $SITENAME on $BASEDIR/$SITENAME/ sshfs -o workaround=rename $USERNAME@$SITENAME:/home/$USERNAME/ $BASEDIR/$SITENAME/ $3 $4
And this one, umount-sshfs.sh
, unmounts it:
#!/bin/bash SITENAME=$1 BASEDIR=${HOME}/mnt/sshfs if [ -z "$1" ] ; then echo Usage: echo " $0 SITENAME.COM" echo exit 1; fi if [ ! -d $BASEDIR/$SITENAME/ ] ; then echo Not mounted. exit 1 fi echo echo Un-mounting $SITENAME... fusermount -u $BASEDIR/$SITENAME/ rmdir $BASEDIR/$SITENAME/
And if the SSH connection ever hangs, you may need to forcefully unmount it. That’s whatforce-umount-sshfs.sh
is for. Note, you’ll need to run this as sudo!
#!/bin/bash SITENAME=$1 BASEDIR=${HOME}/mnt/sshfs if [ -z "$1" ] ; then echo Usage: echo " $0 SITENAME.COM" echo exit 1; fi if [ ! -d $BASEDIR/$SITENAME/ ] ; then echo Not mounted. exit 1 fi echo echo Un-mounting $SITENAME... killall sshfs umount -l $BASEDIR/$SITENAME rmdir $BASEDIR/$SITENAME/