Mount a Remote Directory With SSHFS Rumi, March 2, 2017March 7, 2017 sshfs is a filesystem based on the SSH file transfer protocol. It is used on a client system i.e. you need to install sshfs package on your local computer/laptop powered by CentOS/RHEL/Ubuntu/Debian/Arch Linux. No need to install anything on server (server1.cyberciti.biz). You only need an openssh server installed on server side. Our sample setup: Installing SSHFS on a Ubuntu/Debian/Mint Linux Type the following apt-get command: sudo apt-get install sshfs Sample outputs: [sudo] password for tweenpath: Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: sshfs 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 41.7 kB of archives. After this operation, 138 kB of additional disk space will be used. Get:1 http://mirror.ox.ac.uk/sites/archive.ubuntu.com/ubuntu/ trusty/main sshfs amd64 2.5-1ubuntu1 [41.7 kB] Fetched 41.7 kB in 1s (27.8 kB/s) Selecting previously unselected package sshfs. (Reading database ... 247545 files and directories currently installed.) Preparing to unpack .../sshfs_2.5-1ubuntu1_amd64.deb ... Unpacking sshfs (2.5-1ubuntu1) ... Processing triggers for man-db (2.6.7.1-1ubuntu1) ... Setting up sshfs (2.5-1ubuntu1) ... Installing SSHFS on an Arch Linux Type the following command: sudo pacman -S sshfs fuse Installing SSHFS on a RHEL (Red Hat)/CentOS Linux First, turn on EPEL repo and then type the following yum command to install FUSE-Filesystem to access remote filesystems via SSH on a CentOS/RHEL: sudo yum install fuse-sshfs Sample outputs: Loaded plugins: auto-update-debuginfo, protectbase, rhnplugin, security This system is receiving updates from RHN Classic or RHN Satellite. Setting up Install Process 0 packages excluded due to repository protections Resolving Dependencies --> Running transaction check ---> Package fuse-sshfs.x86_64 0:2.4-1.el6 will be installed --> Processing Dependency: fuse >= 2.2 for package: fuse-sshfs-2.4-1.el6.x86_64 --> Running transaction check ---> Package fuse.x86_64 0:2.8.3-4.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ======================================================================================================================= Package Arch Version Repository Size ======================================================================================================================= Installing: fuse-sshfs x86_64 2.4-1.el6 epel 52 k Installing for dependencies: fuse x86_64 2.8.3-4.el6 rhel-x86_64-server-6 71 k Transaction Summary ======================================================================================================================= Install 2 Package(s) Total download size: 123 k Installed size: 115 k Is this ok [y/N]: y Downloading Packages: (1/2): fuse-2.8.3-4.el6.x86_64.rpm | 71 kB 00:00 (2/2): fuse-sshfs-2.4-1.el6.x86_64.rpm | 52 kB 00:00 ----------------------------------------------------------------------------------------------------------------------- Total 173 kB/s | 123 kB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : fuse-2.8.3-4.el6.x86_64 1/2 Installing : fuse-sshfs-2.4-1.el6.x86_64 2/2 Verifying : fuse-sshfs-2.4-1.el6.x86_64 1/2 Verifying : fuse-2.8.3-4.el6.x86_64 2/2 Installed: fuse-sshfs.x86_64 0:2.4-1.el6 Dependency Installed: fuse.x86_64 0:2.8.3-4.el6 Complete! How do I mount the remote file system? The syntax is sshfs user@server /path/to/mountpoint sshfs user@server /path/to/mountpoint options First, create a directory using mkdir command: sudo mkdir /mnt/server1 I’m going to mount file system using root user and you need to type root password when prompted: sudo sshfs root@192.168.1.142:/ /mnt/server1/ ## OR use ssh key based login ## sudo sshfs -o IdentityFile=~/.ssh/keyfile /mnt/server1/ Password for root@freebsd10: Verify it: sudo df -h Sample outputs: Filesystem Size Used Avail Use% Mounted on /dev/mapper/wks05-root 487G 114G 350G 25% / none 4.1k 0 4.1k 0% /sys/fs/cgroup udev 17G 4.1k 17G 1% /dev tmpfs 3.4G 1.9M 3.4G 1% /run none 5.3M 0 5.3M 0% /run/lock none 17G 160k 17G 1% /run/shm none 105M 50k 105M 1% /run/user /dev/sda1 239M 89M 138M 40% /boot root@192.168.1.142:/ 20G 12G 6.8G 64% /mnt/server1 To access and/or to see the remote file system, run: sudo -s cd /mnt/server1 ls -l Dealing with “Permission denied” error and recommended procedure for mounting the remote directory If you get an error that read as cannot access server1: Permission denied, add yourself to a group called fuse: $ sudo gpasswd -a "$USER" fuse Adding user tweenpath to group fuse Next, create a mount point inside your own home directory: $ mkdir $HOME/server1 $ ls -ld !$ ls -ld $HOME/server1 drwxrwxr-x 2 tweenpath tweenpath 4096 Mar 8 04:34 /home/tweenpath/server1 To mount the remote file system, enter: sshfs -o idmap=user root@192.168.1.142:/ $HOME/server1 df ls -l $HOME/server1 How do I unmount the remote file system? The syntax is: sudo umount /mnt/server1 ## OR ## fusermount -u /mnt/server1 Verify it: df -h How can I permanently mount the remote file system by updating /etc/fstab? Edit the /etc/fstab file, enter: sudo vi /etc/fstat The syntax is: userNameHere@FQDN_OR_IP_HERE:/path/to/source/ /local/mountdir/ fuse.sshfs defaults,_netdev 0 0 Examples Add the following entry at the bottom of the file: sshfs#root@192.168.1.142:/ /mnt/server1 Another example with additional options: sshfs#$root@192.168.1.142:/ /mnt/server1 fuse defaults,idmap=user,allow_other,reconnect,_netdev,users,IdentityFile=/path/to/.ssh/keyfile 0 0 Recommend option for on-demand mounting if you are using systemd: tweenpath@tweenpath.net/project/www/ /mnt/server1 fuse.sshfs noauto,x-systemd.automount,_netdev,users,idmap=user,IdentityFile=/home/vivek/.ssh/id_rsa,allow_other,reconnect 0 0 Save and close the file. Where, root@192.168.1.142 : Remote server with sshd fuse : File system type. idmap=user : Only translate UID of connecting user. allow_other : Allow access to other users. reconnect : Reconnect to server. _netdev : The filesystem resides on a device that requires network access (used to prevent the system from attempting to mount these filesystems until the network has been enabled on the system). users : Allow every user to mount and unmount the filesystem. IdentityFile=/path/to/.ssh/keyfile – SSH key file. P.S: If you are troubled with file permissions- try this instead- sshfs -o allow_other user@myserver:/home/user/myprojects ~/mount/myprojects Related Administrations SSHFS
Increase mail attachment in Zimbra 8.8 June 3, 2018 Postfix configuration (zimbraMtaMaxMessageSize and message_size_limit) You can examine the current value of this parameter like this: # su – zimbra $ postconf message_size_limit message_size_limit = 10240000 This configuration parameter is stored in the zimbra ldap directory, and propagated to postconf’s message_size_limit by zmmtaconfig, which is invoked by the zimbra postfix… Read More
How to increase memory size for MySQL Server June 14, 2020June 14, 2020 To increase the memory size for a MySQL Server, follow these steps: 1.Enter management mode by typing your password and pressing Enter twice. Select Exit to terminal using the arrow keys and then press Enter 2.Type: nano /etc/my.cnf 3.Locate the line innodb_buffer_pool_size = 1024M and change the number to 50%… Read More
Install VirtualBox legacy version 5.x on CentOS 7 June 11, 2022 Install Dependencies Install Extra Packages for Enterprise Linux (EPEL) # sudo yum install epel-release wget -y Install Dynamic Kernel Module Support (DKMS) # sudo yum –enablerepo=epel install dkms -y This will install quite a few packages: Install Development Tools # sudo yum groupinstall “Development Tools” -y Related Read More