windows通过sshfs挂载linux目录
原文地址:https://www.cnblogs.com/liqinglucky/p/sshfs.html
之前讲过一种方法,PC跟VM在同局域网的情况下,可以用samba的方式挂载linux系统的目录到windows上。但是当PC跟VM不同局域网时这种方式就没办法了。
网络环境
在示意图中,PC只能直连物理机的172.1.11.2
,但是PC没办法将VM:10.1.1.10
里的目录用samba方式挂载出来。如果是ssh想直连VM,可以通过物理机端口映射的办法设置。方法如下
物理机端口映射
在物理机上配置隧道
ssh -CNfg -L1022:localhost:22 root@10.1.1.10
这样在PC上就可以通过ssh直连VM了。
//ssh -p <端口号> <VM用户名>@<物理机ip>
例:ssh -p 1022 root@172.1.11.2
sshfs安装
sshfs 是通过 ssh 协议的方式,只要你可以通过ssh直连VM,你就可以将VM的目录挂载到本地。
1、linux上安装sshfs
情况1:在线安装
在VM能连外网的情况可以选择这种方式比较方便。
ubuntu系统
# sudo apt install sshfs
centos系统
# yum -y install epel-release
# yum -y install fuse-sshfs
# yum install sshfs
//如果上面方式失败,可采用
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum repolist
情况2:离线安装
在VM不能连外网的情况时,只能先下载好rpm安装包进行安装。
下载网站:http://rpmfind.net/ (只需搜索包名的前几个词)
需要下载的安装包有:
/root # ls
fuse-libs-2.9.2-11.el7.x86_64.rpm
fuse-2.9.2-11.el7.x86_64.rpm
fuse-sshfs-2.5-1.el7.rf.x86_64.rpm <<< 此包依赖前两个包才能正确安装
安装
# rpm -ivh fuse-libs-2.9.2-11.el7.x86_64.rpm
# rpm -Uvh fuse-2.9.2-11.el7.x86_64.rpm
# rpm -ivh fuse-sshfs-2.5-1.el7.rf.x86_64.rpm
//验证安装成功
# whereis sshfs
sshfs: /usr/bin/sshfs /usr/share/man/man1/sshfs.1.gz
2、win10系统安装 WinFPS 和 SSHFS
参考安装步骤:https://github.com/billziss-gh/sshfs-win
-
安装winfsp.msi
-
先通过 此电脑 > 属性 确定处理器类型(如:x64)。安装sshfs-win-x64.msi
遇到过的问题:PC重启后挂载失败,可以再次通过安装包的repair启动服务。
3、win10中映射网络驱动器
设置驱动器方法1:此电脑 > 计算机 > 添加一个网络位置 > 输入网络地址
设置驱动器方法2:此电脑 > 计算机 > 映射网络驱动器
删除驱动器方法:选中驱动器 > 右键菜单 > 断开连接
例如:我的编译VM是通过172.1.1.2
的1022端口转发访问的。
sshfs命令格式参考:https://www.cnblogs.com/xieqk/p/ssh-sshfs-win-mount-winfsp-dokan.html
\\sshfs\root@172.1.1.2!1022
\物理机IP !转发的端口号
//指定目录挂载
\\sshfs.r\root@172.1.1.2!1022\home\
Win10上能看到linux VM的目录则挂载成功!然后就可以用本地工具(如:source insight)查看修改文件。