First we need to generate public and private keys on our host.
When prompted for passphrase just hit enter to go without it
nevillegroup@shell:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/nevillegroup/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/nevillegroup/.ssh/id_rsa.
Your public key has been saved in /home/nevillegroup/.ssh/id_rsa.pub.
We need to add our public key into authorized_keys file and upload it to the remote host into the .ssh directory.
nevillegroup@shell:~$ cat .ssh/id_rsa.pub > authorized_keys
Now we can create a bash script for mounting the remote directory
!/bin/bash
USERID="YOUR_UID"
USER="example"
HOST="example.com"
MOUNT_DIR="/home/example/examplecom_sshfs"
# create dir if it doesn't exists
if [ ! -d "$MOUNT_DIR" ]; then
umount $MOUNT_DIR &> /dev/null
mkdir $MOUNT_DIR
fi
# to check your uid use command `id`
sshfs -C -o uid=$USERID,ssh_command='ssh -i ~/.ssh/id_rsa',workaround=rename $USER@$HOST:. $MOUNT_DIR
Add executable flag to the file and you ready to mount with the script
nevillegroup@shell:~$ chmod +x bin/sshfs_examplecom
nevillegroup@shell:~$ ./bin/sshfs_examplecom
nevillegroup@shell:~$ ls /home/example/examplecom_sshfs
dev/ git/ logs/ sub/ web/