Mount remote directory using SSH
Solution 1:
First install the module:
sudo apt-get install sshfs
Load it to kernel:
sudo modprobe fuse
Setting permissions (Ubuntu versions < 16.04):
sudo adduser $USER fuse
sudo chown root:fuse /dev/fuse
sudo chmod +x /dev/fusermount
Now we'll create a directory to mount the remote folder in.
I chose to create it in my home directory and call it remoteDir
.
mkdir ~/remoteDir
Now I ran the command to mount it (mount on home):
sshfs [email protected]:/home/maythuxServ/Mounted ~/remoteDir
Now it should be mounted:
cd ~/remoteDir
ls -l
Solution 2:
Configure ssh key-based authentication
Generate key pair on the local host.
$ ssh-keygen -t rsa
Accept all sugestions with enter key.
Copy public key to the remote host:
$ ssh-copy-id -i .ssh/id_rsa.pub user@host
Install sshfs
$ sudo apt install sshfs
Mount remote directory
$ sshfs user@host:/remote_directory /local_directory
Don't try to add remote fs to /etc/fstab
Or don't try to mount shares via /etc/rc.local .
In both cases it won't work as the network is not available when init reads /etc/fstab.
Install AutoFS
$ sudo apt install autofs
Edit /etc/auto.master
Comment out the following lines
#+/etc/auto.master.d
#+/etc/auto.master
Add a new line
/- /etc/auto.sshfs --timeout=30
Save and quit
Edit /etc/auto.sshfs
Add a new line
/local_directory -fstype=fuse,allow_other,IdentityFile=/local_private_key :sshfs\#user@remote_host\:/remote_directory
Remote user name is obligatory.
Save and quit
Start autofs in debug mode
$ sudo service autofs stop
$ sudo automount -vf
Observe logs of the remote ssh server
$ ssh user@remote_server
$ sudo tailf /var/log/secure
Check content of the local directory
You should see contents of the remote directory
Start autofs in normal mode
Stop AutoFS running in debug mode with CTRL-C .
Start AutoFS in normal mode
$ sudo service autofs start
Enjoy
(Tested on Ubuntu 14.04)