How to mount a remote directory over ssh on Linux(LInux通过ssh挂载远程目录)

原文地址:http://xmodulo.com/how-to-mount-remote-directory-over-ssh-on-linux.html

Suppose you would like to mount a remote directory locally. However, you only have ssh access to the host where the remote directory resides, and there is no network file system (e.g., NFS,Samba) available to export the directory with. In this case, you can actuallymount a remote directory over ssh, and access the directory via file system interfaces.

Mounting a remote folder over ssh is handled by FUSE kernel module, which allows one to create a virtual file system in user space.sshfs andgvfs are two such virtual file systems built on FUSE that allow one to mount a remote file system over ssh. In this post, I will show how to mount a remote directory over ssh withsshfs andgvfs.

Mount a remote directory over ssh with sshfs

To install sshfs on Ubuntu or Debian:

$ sudo apt-get install sshfs

To install sshfs on CentOS, RHEL or Fedora, first enable EPEL repository on your system, and then run the following.

$ sudo yum install sshfs

Next, if you want to use sshfs as a non-root user, you need to add the user to a group calledfuse. That is:

$ sudo usermod -a -G fuse <user_name>

Run the following to make group membership change activated.

$ exec su -l $USER




Finally, you can mount a remote directory using sshfs as follows.
$ sshfs my_user@remote_host:/path/to/directory <local_mount_point>

The above command will ask you for ssh password for the remote host. Once you enter the password, a remote directory will become available at the local mount point. If you want to set up passwordless mounting, all you have to do is toset up passwordless ssh login to my_user@remote_host.

To unmount a ssh-mounted directory:

$ fusermount -u <local_mount_point>

If you would like to automatically mount over ssh upon boot, set up passwordless ssh login, and append the following in /etc/fstab.

$ sudo vi /etc/fstab
sshfs#my_user@remote_host:/path/to/directory <local_mount_point> fuse user 0 0

Mount a remote directory over ssh on GNOME desktop

If you are using GNOME desktop, mounting over ssh is quite easy. Nautilus, the official file manager for GNOME desktop, already supports mounting over ssh. Underneath it, Nautilus usesgvfs virtual file system which can exposegvfs mounts over ssh using FUSE.

To mount a remote folder over ssh with Nautilus, go to "File"->"Connect to Server" on Nautilus. Then type in the remote ssh server information, remote folder path, as well as ssh login credentials as follows.

Once you click on "Connect" button, a local mount point will automatically be generated, and a remote directory will be mounted there viagvfs. To check agvfs mount point, run the following.

$ mount
gvfsd-fuse on /run/user/xmodulo/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=xmodulo)
$ ls /run/user/xmodulo/gvfs
sftp:host=remote_host.com,user=xmodulo

In this example, the local gvfs mount point is as follows. You can access a remote directory either via command-line at this mount point, or through Nautilus GUI.

/run/user/xmodulo/gvfs/sftp\:host\=remote_host.com\,user\=xmodulo/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值