前言
很多時候,因爲不熟悉vim或者更喜歡Windows下的一些IDE,我們需要在Windows寫代碼並部署到Linux服務器上進行調試。
相信很多程序員都有這個需求,也有很多自己的解決方法。常見的有使用Git,Samba,NFS,rsync,ftp等等,大部分方法我都嘗試過,各有優缺點。一般都需要服務器安裝相應的服務端軟件,還需要開放指定的端口,像NFS這種端口還動態變化的對使用容器、防火牆的情景就更不友好了。
今天給大家推薦的是SSHFS-Win
,無論你的系統是CentOS還是Ubuntu,服務器端不需要安裝任何軟件,只要支持SSH服務並開放SSH端口就可以了,個人覺得的一種更優雅的解決方案。
一、簡介
項目地址: SSHFS-Win
SSHFS-Win是SSHFS到Windows的最小端口。在底層,它使用Cygwin作爲POSIX環境,使用WinFsp作爲FUSE功能。
就這?是的,就這。
二、安裝步驟
- 安裝最新版本的
WinFsp
- 安裝最新版本的
SSHFS-Win
,根據操作系統選擇x64或x86版本安裝程序,下面第二個下載鏈接均爲x64版本。
WinFsp
下載地址:
Github
:https://github.com/billziss-gh/winfsp/releases/latestNextCloud
: https://yasin.store/index.php/s/PdcfBGSaeBXMxyn
SSHFS-Win
下載地址:
Github
:https://github.com/billziss-gh/sshfs-win/releasesNextCloud
: https://yasin.store/index.php/s/ZW3rNHffea5jsST
三、使用方法
安裝WinFsp
和SSHFS-Win
之後,您可以使用Windows資源管理器或net use
命令將網絡驅動器映射到SSHFS主機上的目錄。
(一)Windows資源管理器
在Windows資源管理中,右擊此電腦
(win7系統爲計算機
),選擇映射網絡驅動器(N)
,然後使用以下UNC語法輸入所需的驅動器號和SSHFS路徑:
\\sshfs\REMUSER@HOST[!PORT][\PATH]
比如你的服務器IP是:192.168.18.128
,用戶名是yasin
,端口是12580
。
添加的路徑就是下面這樣:
\\sshfs\[email protected]!12580\
首次映射特定的SSHFS路徑時,系統將提示你輸入SSHFS用戶名和密碼,也就是Linux服務器你的用戶名和密碼,連接成功後你就可以在我的電腦裏看到多出一塊磁盤,根目錄就是你用戶的home
目錄。
這樣就可以在Windows下使用IDE直接修改你的代碼,SSFHS會將你的修改自動同步到Linux服務器,在Linux端編譯運行代碼即可。
你可以選擇使用Windows憑據管理器保存這些憑據,在這種情況下,將不會再次提示你。
爲了取消映射驅動器,請在Windows資源管理器中右鍵單擊驅動器圖標,然後選擇斷開連接。
下面是項目README中的一個演示:
(二)命令行
您可以使用net use
命令從命令行映射網絡驅動器:
> net use X: \\sshfs\[email protected]
The password is invalid for \\sshfs\[email protected].
Enter the user name for 'sshfs': billziss
Enter the password for sshfs:
The command completed successfully.
你可以列出你的網絡使用驅動器:
$ net use
New connections will be remembered.
Status Local Remote Network
-------------------------------------------------------------------------------
X: \\sshfs\[email protected]
WinFsp.Np
The command completed successfully.
最後,你可以按以下方式取消映射驅動器:
$ net use X: /delete
X: was deleted successfully.
(三)UNC語法
完整的UNC語法如下:
\\sshfs\[LOCUSER=]REMUSER@HOST[!PORT][\PATH]
\\sshfs.r\[LOCUSER=]REMUSER@HOST[!PORT][\PATH]
\\sshfs.k\[LOCUSER=]REMUSER@HOST[!PORT][\PATH]
REMUSER
是遠程用戶(即SSHFS主機上的憑據正用於訪問的用戶)。HOST
是SSHFS主機。PORT
是SSHFS主機上的遠程端口(可選;默認值爲22)。PATH
是遠程路徑。 解釋如下:sshfs
前綴映射到SSHFS主機上的HOST:~REMUSER/PATH
(REMUSER
家目錄的相對路徑)。sshfs.r
前綴映射到SSHFS主機上的HOST:/PATH
(即HOST
根目錄的相對路徑,也就是絕對路徑)。sshfs.k
前綴映射到HOST:~REMUSER/PATH
並使用%USERPROFILE%/.ssh/id_rsa
(其中%USERPROFILE%
是本地Windows用戶的家目錄)中的ssh密鑰。
LOCUSER
是本地Windows用戶(可選;USERNAME
或DOMAIN + USERNAME
格式)。- 請注意,對於最新版本的
WinFsp
,很少需要使用此功能。
- 請注意,對於最新版本的
四、Enjoy
你看是不是很簡單?服務器端不用安裝任何軟件,Windows端安裝兩個小工具,然後輸入你的用戶名和密碼即可!
Enjoy coding now.