Answers:
首先安装模块:
sudo apt-get install sshfs
加载到内核:
sudo modprobe fuse
设置权限(Ubuntu版本<16.04):
sudo adduser $USER fuse
sudo chown root:fuse /dev/fuse
sudo chmod +x /dev/fusermount
现在,我们将创建一个目录来装入远程文件夹。
我选择在主目录中创建它并将其命名remoteDir
。
mkdir ~/remoteDir
现在,我运行命令来挂载它(挂载在家里):
sshfs maythux@192.168.xx.xx:/home/maythuxServ/Mounted ~/remoteDir
现在应该安装它:
cd ~/remoteDir
ls -l
配置基于SSH密钥的身份验证
在本地主机上生成密钥对。
$ ssh-keygen -t rsa
使用回车键接受所有建议。
将公钥复制到远程主机:
$ ssh-copy-id -i .ssh/id_rsa.pub user@host
安装sshfs
$ sudo apt install sshfs
挂载远程目录
$ sshfs user@host:/remote_directory /local_directory
不要尝试将远程fs添加到/ etc / fstab
或不要尝试通过/etc/rc.local挂载共享。
在这两种情况下,由于init读取/ etc / fstab时网络均不可用,因此无法使用。
安装AutoFS
$ sudo apt install autofs
编辑/etc/auto.master
注释掉以下几行
#+/etc/auto.master.d
#+/etc/auto.master
添加新行
/- /etc/auto.sshfs --timeout=30
保存并退出
编辑/etc/auto.sshfs
添加新行
/local_directory -fstype=fuse,allow_other,IdentityFile=/local_private_key :sshfs\#user@remote_host\:/remote_directory
远程用户名是必填项。
保存并退出
在调试模式下启动autofs
$ sudo service autofs stop
$ sudo automount -vf
查看远程SSH服务器的日志
$ ssh user@remote_server
$ sudo tailf /var/log/secure
检查本地目录的内容
您应该看到远程目录的内容
在正常模式下启动autofs
使用CTRL-C停止在调试模式下运行的AutoFS。
在正常模式下启动AutoFS
$ sudo service autofs start
请享用
(在Ubuntu 14.04上测试)
根据我的实验,挂载ssh文件系统不需要显式创建保险丝组并向其中添加用户。
总结一下,这是从此页面复制的步骤:
sshfs
$ sudo apt-get install sshfs
2.创建本地挂载点
$ mkdir /home/johndoe/sshfs-path/
3.将远程文件夹安装/remote/path
到/home/johndoe/sshfs-path/
$ sshfs remoteuser@111.222.333.444:/remote/path /home/johndoe/sshfs-path/
$ fusermount -u /home/johndoe/sshfs-path/
安装sshfs
sudo apt-get install sshfs
添加到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
sshfs
命令中,我认为mountpoint本地目录名为remoteDir
,当我在ssh服务器上时,有一个/home/maythuxServ/Mounted
不在本地挂载的目录,我无法分辨,或者关心,它是否安装在其他地方?