原文地址: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)查看修改文件。