Mount remote directory using SSH

179,193

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)

Solution 3

Based on my experiments, explicitly creating the fuse group and adding your user to it is NOT required to mount ssh file system.

To summarize, here are the steps copied from this page:

  1. Install sshfs

$ sudo apt-get install sshfs

2.Create local mount point

$ mkdir /home/johndoe/sshfs-path/

3.Mount remote folder /remote/path to /home/johndoe/sshfs-path/

$ sshfs [email protected]:/remote/path /home/johndoe/sshfs-path/

  1. And finally, to umount ...

$ fusermount -u /home/johndoe/sshfs-path/

Solution 4

Install sshfs

sudo apt-get install sshfs

Add to fstab:

<USER>@<SERVER_NAME>:<server_path> <local_path> fuse.sshfs delay_connect,_netdev,user,idmap=user,transform_symlinks,identityfile=/home/<YOUR_USER_NAME>/.ssh/id_rsa,allow_other,default_permissions,rw,nosuid,nodev,uid=1000,gid=1000,nonempty 0 0

Solution 5

Although it is not answering your question exactly but I just wanted to mention that you can achieve the same goal using "sftp" as well. Just inside your file manager address bar type this command:

sftp://[email protected]/remote/path
Share:
179,193

Related videos on Youtube

Maythux
Author by

Maythux

Love To Learn Love To Share

Updated on September 18, 2022

Comments

  • Maythux
    Maythux over 1 year

    How to mount a remote directory using SSH to be available same as if it is a local directory?

  • Volker Siegel
    Volker Siegel over 9 years
    I'm a little confused... in the sshfs command, I think that the mountpoint local directory is named remoteDir, and when I'm on the ssh serever, there is a dir /home/maythuxServ/Mounted that is not mounted locally, and I can not tell, or care, whether it's mounted elsewhere?
  • Hemm
    Hemm about 8 years
    I skipped some of these steps under 14.04 when I used the following guide: help.ubuntu.com/community/SSHFS
  • Matt Kleinsmith
    Matt Kleinsmith over 6 years
    No fuse group needed (Ubuntu 16.04, Nov 2017): stackoverflow.com/questions/35635631/ubuntu-15-10-no-fuse-gr‌​oup
  • Jeff
    Jeff over 6 years
    Are these commands running on the client or the server?
  • optimist
    optimist over 5 years
    On 18.04, I skipped the full 2nd block - setting permissions and it works fine.
  • Luís de Sousa
    Luís de Sousa about 5 years
    Half of this answer either does not work or is outdated. Please consider updating.
  • Fanta
    Fanta over 4 years
    Still good on Ubuntu 18.04. Used it to mount a directory from a Raspberry Pi 2 on a PC. When issuing sudo automount -vf, if you get 1 remaining in /- it is likely because you have already manually mounted the directory at step Mount remote directory. Rebooting should fix the issue.
  • pindakaas
    pindakaas about 4 years
    the part about not adding stuff to /etc/fstab is wrong the option _netdev is made for this case.
  • Marco
    Marco almost 4 years
    you can but it's very slow compared to sshfs :)
  • Enterprise
    Enterprise over 3 years
    Works on Ubuntu 20.10
  • n.podbielski
    n.podbielski over 2 years
    Worked for me on Debian 11 but without noempty