Windows下寫代碼並使用 SSHFS快速部署到 Linux 進行調試

前言

很多時候,因爲不熟悉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下載地址:

SSHFS-Win下載地址:

三、使用方法

安裝WinFspSSHFS-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中的一個演示:

cap

(二)命令行

您可以使用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/PATHREMUSER家目錄的相對路徑)。
    • sshfs.r前綴映射到SSHFS主機上的HOST:/PATH(即HOST根目錄的相對路徑,也就是絕對路徑)。
    • sshfs.k前綴映射到HOST:~REMUSER/PATH並使用%USERPROFILE%/.ssh/id_rsa(其中%USERPROFILE%是本地Windows用戶的家目錄)中的ssh密鑰。
  • LOCUSER是本地Windows用戶(可選;USERNAMEDOMAIN + USERNAME格式)。
    • 請注意,對於最新版本的WinFsp,很少需要使用此功能。

四、Enjoy

你看是不是很簡單?服務器端不用安裝任何軟件,Windows端安裝兩個小工具,然後輸入你的用戶名和密碼即可!

Enjoy coding now.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章