一、引言
1.1 前因后果
有搞過云服務(wù)器的朋友肯定會經(jīng)常在服務(wù)器與服務(wù)器之間,服務(wù)器與本地之間傳輸各種文件,但是傳輸文件非常麻煩,Windows Server 可以通過 Windows 自帶的工具以 3389 端口進(jìn)行遠(yuǎn)程桌面連接,傳輸文件稍微會方便一些,但對于 Linux,傳輸文件就稍顯有些麻煩了。對于熟悉 Linux 的朋友來說當(dāng)然其實無所謂,但對于 Linux 新手而言,這是一個比較麻煩的操作。
傳輸文件這么麻煩,要是可以像在本地磁盤之間傳輸文件就好了,誒,你還真別說,還真有個神器可以實現(xiàn)這個操作!
通過下面的文章,你將得到像下面的效果圖:

圖示中 ALCloud 是阿里云 Windows 服務(wù)器,JDCloud 是京東云 Linux?服務(wù)器(Ubuntu),Lenovo 是我另外一臺 Windows 聯(lián)想筆記本,Xiaomi 是我的小米手機(jī)……就問你酷不酷吧?
Xiaomi 我沒搞 root 權(quán)限,所有很多東西無法訪問,但也能湊合用。
前兩個,是掛載的廣域網(wǎng)中的云服務(wù)器,后面兩個是局域網(wǎng)中的設(shè)備。不過此處的手機(jī)掛載方式不在此處詳述,因為涉及到另外一個神器 Termux,將在后續(xù)文章中講述。
1.2 操作需求
完成后續(xù)的操作,你將需要:
(1)帶有 Windows 操作系統(tǒng)的電腦;(理論上,其他操作系統(tǒng)也可以這樣干,操作都差不多)
(2)廣域網(wǎng)掛載:云服務(wù)器(平臺不限);
(3)局域網(wǎng)掛載:沒有啥特殊要求;
二、掛載工具
2.1 掛載工具是什么
掛載工具一般是一個比較小的程序,可以實現(xiàn)將各類互聯(lián)網(wǎng)的“類磁盤資源”作為“本地磁盤”掛載到本地,基本功能效果和本地磁盤一樣,比如文件的移動、復(fù)制、粘貼、剪切和重命名等等,理論上,只要你的網(wǎng)速和服務(wù)器的網(wǎng)速足夠快,使用起來就和本地磁盤沒有任何區(qū)別!
2.2 掛載磁盤和網(wǎng)盤有什么區(qū)別
顯而易見,網(wǎng)盤少有能夠自動同步文件的功能,而且大多限速,掛載磁盤沒有程序上的限速,限制的只有網(wǎng)速,而且它會幾乎實時地對你的操作進(jìn)行同步。你對掛載磁盤干了什么,對應(yīng)的網(wǎng)絡(luò)磁盤也會進(jìn)行修改,不就相當(dāng)于自動同步了嗎?而且,掛載磁盤不需要額外再啟動一個什么網(wǎng)盤客戶端,啟動腳本直接使用!
2.3?掛載工具有哪些
掛載工具有很多,但正因為其功能強(qiáng)大,大多數(shù)收費,比如知名的 RaiDrive 等,而且大多數(shù)都只對國外的網(wǎng)盤服務(wù)有完全的支持,對國內(nèi)的只有部分支持(想完全支持就要收費)。國內(nèi)的也有,比如 CloudDrive 等。國內(nèi)也有一些免費的工具,但網(wǎng)上的風(fēng)評都感覺不太好,什么底層會瘋狂擦寫磁盤來實現(xiàn)對應(yīng)功能,導(dǎo)致影響磁盤壽命等等。還有一些不開源的工具,要注冊賬號啥的,感覺不太安全。因此,這里我選擇開發(fā)時間相對較早,技術(shù)比較成熟,完全免費,完全開源的掛載工具神器 Rclone!
三、Rclone
3.1 為什么選擇 Rclone
3.1.1 Rclone 的優(yōu)勢
Rclone,開源,成熟,完全免費,對于國內(nèi)外的都幾乎全支持(有些功能需配合其他的工具),全平臺可用(此處以 Windows 為例),社區(qū)活躍,長期維護(hù),非聯(lián)網(wǎng)工具(無需網(wǎng)絡(luò)注冊賬號什么的)
3.1.2 Rclone 的缺點
Rclone 這么好,為什么還有其他的掛載工具出現(xiàn)呢?因為 Rclone 有個唯一的缺點,沒得圖形界面,它的一切操作都是在終端中進(jìn)行的……先別急著走,雖然這樣,但你只要按照我下面的操作來,你幾乎不需要做任何事情,復(fù)制粘貼代碼回車運行就行!人人可能不都是程序員,但人人都可以成為一個合格甚至優(yōu)秀的 CV 工程師(附:CV 指 Ctrl+C 和 Ctrl+V)!
3.2 Rclone 下載
Rclone 建議在官方位置下載安裝,即在其 GitHub 倉庫找到文件。
GitHub repo:rclone/rclone: "rsync for cloud storage" - Google Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Yandex Files (github.com)
也可以從我這里的藍(lán)奏云中下載 1.66.0-windows-amd64 版本的:
rclone-v1.66.0-windows-amd64.zip - 藍(lán)奏云
打開頁面后,在右側(cè)找到 Releases 字樣,點擊下面的 Latest 發(fā)行版進(jìn)去就是當(dāng)前官方的最新發(fā)行版文件了,找到下面的 Assets,里面有很多文件,都是適配不同操作系統(tǒng)的版本,對于一般的 Windows 用戶而言,選擇?rclone-vX.X.X-windows-amd64.zip 并等待下載完成就可以了(X 是版本號,amd 別看成 arm 了!)。這玩意兒,下載完解壓后就行了,無需安裝。
解壓后的文件目錄是這樣的(版本 v1.66.0):

把它找個地方放起來,記住這個存放位置,后面我們(可能)還需要用到。
3.3 Winfsp 下載安裝
這個僅對 Windows 用戶有效。
有部分功能需要 Winfsp 這個小工具才能完成,此工具并非 Rclone 官方開發(fā)的,而是由另外一群人開發(fā)的,這里放出他們的 GitHub repo,下載操作和上面的 Rclone 類似(對應(yīng)位置選擇 msi 擴(kuò)展名的文件就行),但是,這個是要安裝的(雙擊下載的 msi 文件即可)。
Github repo:winfsp/winfsp: Windows File System Proxy - FUSE for Windows (github.com)
如果你使用 Rclone 的過程中沒啥問題,那就不需要裝這個了,等用某個功能時報了啥錯再來安裝這玩意兒也不遲。?
四、掛載服務(wù)器磁盤到本地
4.1 SSH
一定要確保服務(wù)器擁有 ssh-server 的功能,Linux 一般自帶,部分 Windows Server 不自帶,需要手動開啟。因為我們的功能是通過?ssh/sftp 協(xié)議實現(xiàn)的,所以要保證服務(wù)器有這個功能。
理論上,還需要保證客戶端(也就是本地)有 ssh-client,但一般都自帶了,就不提了。一般來說,局域網(wǎng)掛載的時候,需要手動開啟 ssh server,因為家庭版 Windows 默認(rèn)是不開啟的。
4.1.1 手動開啟 Windows ssh server 服務(wù)
控制面板 -> 程序 -> 程序和功能 -> 啟用或關(guān)閉 Windows 功能(在界面左側(cè))?-> openSSH Server(如果沒開啟這里就會有)。
安裝后,打開 服務(wù)(終端輸入 services 打開),找到上面說的這玩意兒,然后啟動它(修改屬性為自動比較好,防止關(guān)機(jī)后沒有自己啟動)。
4.2 本地配置掛載磁盤
找到我們存放 Rclone 的文件目錄,在此文件夾中的空白位置打開右鍵菜單,點擊在終端中打開(如果沒有這一項,就自己手動打開終端,然后切換到該目錄下),輸入以下命令進(jìn)行 Rclone 的配置:
rclone config
4.2.1 添加服務(wù)器配置
添加服務(wù)器的步驟較多,根據(jù)每個人的需求而變,此處以阿里云輕量級 Windows 云服務(wù)器為例,Rclone 的版本為 1.66.0。如果你懂一些英文,實際不需要太多教學(xué),自己也能摸索出來。
注意:部分 Windows Server 沒有 openssh server 服務(wù),需手動開啟。
步驟 01
輸入命令進(jìn)入 rclone 配置模式:
rclone config
會出現(xiàn)下面幾個選項:
e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q>
根據(jù)對應(yīng)的英文,我們輸入 n 來添加新的服務(wù)器配置。
步驟 02
輸入 n 并回車之后,會出現(xiàn)下面的字樣:
Enter name for new remote.
name>
意思是要我們輸入掛載位置的名稱,這個名稱由我們自己定義,與實際的服務(wù)器沒有關(guān)系,這個名稱就是到時候掛載時顯示的名稱(建議使用英文名稱,我用中文它崩了)。
步驟 03
輸入后回車,他會出現(xiàn)一大堆紅綠相間的選項:
1 / 1Fichier
\ (fichier)
2 / Akamai NetStorage
\ (netstorage)
3 / Alias for an existing remote
\ (alias)
4 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, ArvanCloud, Ceph, ChinaMobile, Cloudflare, DigitalOcean, Dreamhost, GCS, HuaweiOBS, IBMCOS, IDrive, IONOS, LyveCloud, Leviia, Liara, Linode, Minio, Netease, Petabox, RackCorp, Rclone, Scaleway, SeaweedFS, StackPath, Storj, Synology, TencentCOS, Wasabi, Qiniu and others
\ (s3)
5 / Backblaze B2
\ (b2)
6 / Better checksums for other remotes
\ (hasher)
7 / Box
\ (box)
8 / Cache a remote
\ (cache)
9 / Citrix Sharefile
\ (sharefile)
10 / Combine several remotes into one
\ (combine)
11 / Compress a remote
\ (compress)
12 / Dropbox
\ (dropbox)
13 / Encrypt/Decrypt a remote
\ (crypt)
14 / Enterprise File Fabric
\ (filefabric)
15 / FTP
\ (ftp)
16 / Google Cloud Storage (this is not Google Drive)
\ (google cloud storage)
17 / Google Drive
\ (drive)
18 / Google Photos
\ (google photos)
19 / HTTP
\ (http)
20 / Hadoop distributed file system
\ (hdfs)
21 / HiDrive
\ (hidrive)
22 / ImageKit.io
\ (imagekit)
23 / In memory object storage system.
\ (memory)
24 / Internet Archive
\ (internetarchive)
25 / Jottacloud
\ (jottacloud)
26 / Koofr, Digi Storage and other Koofr-compatible storage providers
\ (koofr)
27 / Linkbox
\ (linkbox)
28 / Local Disk
\ (local)
29 / Mail.ru Cloud
\ (mailru)
30 / Mega
\ (mega)
31 / Microsoft Azure Blob Storage
\ (azureblob)
32 / Microsoft Azure Files
\ (azurefiles)
33 / Microsoft OneDrive
\ (onedrive)
34 / OpenDrive
\ (opendrive)
35 / OpenStack Swift (Rackspace Cloud Files, Blomp Cloud Storage, Memset Memstore, OVH)
\ (swift)
36 / Oracle Cloud Infrastructure Object Storage
\ (oracleobjectstorage)
37 / Pcloud
\ (pcloud)
38 / PikPak
\ (pikpak)
39 / Proton Drive
\ (protondrive)
40 / Put.io
\ (putio)
41 / QingCloud Object Storage
\ (qingstor)
42 / Quatrix by Maytech
\ (quatrix)
43 / SMB / CIFS
\ (smb)
44 / SSH/SFTP
\ (sftp)
45 / Sia Decentralized Cloud
\ (sia)
46 / Storj Decentralized Cloud Storage
\ (storj)
47 / Sugarsync
\ (sugarsync)
48 / Transparently chunk/split large files
\ (chunker)
49 / Union merges the contents of several upstream fs
\ (union)
50 / Uptobox
\ (uptobox)
51 / WebDAV
\ (webdav)
52 / Yandex Disk
\ (yandex)
53 / Zoho
\ (zoho)
54 / premiumize.me
\ (premiumizeme)
55 / seafile
\ (seafile)
Storage>
最后一行有個 “Storage” 字樣,我們在其后面輸入對應(yīng)選項的數(shù)字即可。這些選項代表各種模式。
一般而言我們使用 SSH/SFTP,找到該選項的數(shù)字,輸入并回車。SSH/SFTP 表示用 ssh 或者 sftp 進(jìn)行連接并傳輸文件,是一種安全的網(wǎng)絡(luò)傳輸協(xié)議。
為什么要用 SSH/SFTP ?
① ssh 非常方便,幾乎所有平臺都有
② ssh 操作起來非常簡單
③ 我本人對此比較熟悉(嘻嘻)
步驟 04
選擇模式之后,回車會顯示下面的信息:
Option host.
SSH host to connect to.
E.g. "example.com".
Enter a value.
host>
這是要我們輸入遠(yuǎn)程連接的地址,輸入你要掛載文件對應(yīng)的 IP 地址就行了。
步驟 05
之后它會要求你輸入用戶名(Linux 一般是 root,Windows 如果沒設(shè)置,那一般是 Administrator):
Option user.
SSH username.
Enter a string value. Press Enter for the default (XXX\xxx).
user>
步驟 06
之后會問你端口,這個一般不用管,端口用協(xié)議的默認(rèn)值就行,直接回車。?
Option port.
SSH port number.
Enter a signed integer. Press Enter for the default (22).
port>
步驟 07
然后它會問你密碼:
Option pass.
SSH password, leave blank to use ssh-agent.
Choose an alternative below. Press Enter for the default (n).
y) Yes, type in my own password
g) Generate random password
n) No, leave this optional password blank (default)
y/g/n>
這個看你自己的需求:
選項 y:輸入你自己的密碼
選項 g:隨機(jī)生成密碼
選項 n:不輸入密碼,保持為空
我反正是直接輸入我服務(wù)器操作系統(tǒng)的密碼了(按 y 輸入自己的密碼)。
步驟 08
之后它還會問你更多的可選選項,如?key_pem、key_file、key_file_pass、pubkey_file、key_use_agent、use_insecure_cipher、?disable_hashcheck 和 ssh 等。若是不懂,就直接回車,使用默認(rèn)值即可。
一直到出現(xiàn)下面這個界面:
Edit advanced config?
y) Yes
n) No (default)
y/n>
這是在問你還需不需要配置高級選項。直接回車,不用配置(默認(rèn)值就好)。
步驟 09
最后會出現(xiàn)這個:
Configuration complete.
Options:
- type: sftp
- host: xxx.xxx.xxx.xxx
Keep this "XXX" remote?
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d>
表示配置完畢了,選擇選項 y,保留該配置。
步驟 10
回車輸入 y 之后就會回到一開始的界面了,此時會出現(xiàn)已經(jīng)弄好的服務(wù)器配置了:
Current remotes:
Name Type
==== ====
XXX sftp
e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q>
可以退出這個程序了。
4.2.2 掛載磁盤
再次從 rclone 所在文件夾下進(jìn)入終端命令行,輸入下面的命令就可以掛載服務(wù)器指定目錄到本地磁盤了:
rclone mount ServerName:RemotePath TargetPath
ServerName:之前你定義的服務(wù)器名稱,它會作為本地磁盤名稱出現(xiàn);
RemotePath:遠(yuǎn)程目錄,不一定要是根目錄,一個文件夾也是可以的,如果對應(yīng)的文件夾不存在,那么會新建一個空文件夾;
TargetPath:目標(biāo)文件夾目錄,一般寫個新的盤符即可,但實際上,你也可以將其掛載指定的文件夾內(nèi);
給個示例(斜杠正反貌似都行):rclone mount MyCloudServer:C:\?Z:
注意:別把原來的盤符給覆蓋了,一般從 Z 盤符倒著來寫!
靈活設(shè)置,怎樣都行,你喜歡就好。
成功后先別急著把終端窗口關(guān)閉,可以先按 Win + E 快捷鍵查看資源管理器中是否出現(xiàn)新的盤符,如果有,那么點進(jìn)去看看,如果沒有彈出任何報錯,那說明你成功了。?
4.3 后臺運行
由于上述終端不能關(guān)閉,一旦關(guān)閉就會使得掛載服務(wù)終止,于是我們需要寫一個腳本讓其自己在后臺運行。
4.3.1 后臺啟動掛載服務(wù)
對于 Windows 操作系統(tǒng),我們可以使用下面的命令使 Rclone 后臺運行:
@echo off
%1 start mshta vbscript:createobject("wscript.shell").run("""%~0"" ::",0)(window.close)&&exit
start /b 在這里輸入你的第一條命令
start /b 在這里輸入你的第二條命令
更多的命令,以此類推。?你可以將上面的代碼修改成自己想要的,然后新建一個文本文檔文件,保存代碼到里面,并重命名文件的擴(kuò)展名為 bat 類型。雙擊它就可以運行了。
4.3.2 終止掛載服務(wù)
如果想終止,也很簡單:
@echo off
taskkill /im rclone.exe /f
pause
和啟動后臺同樣的操作,只不過代碼改成了上面這樣。?
4.4 開機(jī)自啟
或許你還有開機(jī)讓其自動啟動的需求,其實也很簡單,我們可以把寫好的腳本,放在指定目錄下就行,但這里要注意一點,不能直接把 bat 腳本放過去,還要修改一下路徑,把命令中原來的 rclone 改成:
文件路徑\rclone.exe
不然系統(tǒng)會找不到 rclone 的位置。
對了,指定的目錄是:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\
然后系統(tǒng)開機(jī)就會自動調(diào)用該腳本,就實現(xiàn)開機(jī)自啟的功能了。
五、疑難及建議
5.1 一些建議
5.1.1 建議不要開機(jī)自啟
首先,開機(jī)自啟這個會些微影響開機(jī)速度,影響不大,但是,這個腳本運行的時候會有一個黑框框在屏幕前一閃而過,讓人有點不太舒適。此外,這個腳本的運行必須要聯(lián)網(wǎng),否則將會失敗,你怎么就確定你開機(jī)的時候一定有網(wǎng)絡(luò)連接呢?而且,如果你還連接了其它的存儲設(shè)備,如 U 盤和移動硬盤,這個盤符豈不是會亂套了?
綜上,我們應(yīng)該在我們使用此功能的時候手動雙擊運行一下腳本,當(dāng)然,如果你電腦基本每次都要使用該功能的話,那你還是讓它開機(jī)自啟吧,前面的話就當(dāng)我沒說……
5.1.2 擴(kuò)展操作
上述是廣域網(wǎng)操作,也就是針對于云服務(wù)器,實際上,局域網(wǎng)內(nèi)的也可以……比如在一臺設(shè)備內(nèi)訪問多臺設(shè)備內(nèi)的文件(不限操作系統(tǒng),比如 Windows 電腦和 Android 手機(jī))。我就說這么多,你快去勇敢折騰一下吧?。▔男Γ?/p>
5.1.3?擴(kuò)展建議
實際上 Rclone 配合其他工具還可以實現(xiàn)很多很大實用的黑科技,比如配合 docker 可以將阿里云盤掛載到本地磁盤?。▌e指望我會教學(xué),我沒研究過……),還可以將 OneDrive 掛載到本地,等等一些其他的網(wǎng)盤資源(這個網(wǎng)上一大把,自己百度去)。
5.2 部分疑難
5.2.1 rclone 無法識別
很顯然,極大概率是因為你沒有將終端切換到當(dāng)前目錄下。在默認(rèn)目錄下,沒有 rclone 文件,那么系統(tǒng)就會認(rèn)為:“這個調(diào)用命令的人在亂講些啥有的沒的啊,我怎么聽不懂啊”……
將目錄切換至 rclone 文件所在的目錄可能有助于解決問題。
5.2.2 一堆報錯,出現(xiàn)了 winfsp 字眼
winfsp 沒有安裝,或者 winfsp 安裝不正確,去看看網(wǎng)上的教程吧。
5.2.3 其它問題
別看了,我也不知道怎么回事,因為我沒遇到過……
Rclone 真的很強(qiáng),支持開源,記得給他們的 GitHub 倉庫點個 Star(如果你有 GitHub 賬號),開發(fā)者都不容易,這種免費的開源黑科技背后的開發(fā)者更是不容易。文章來源:http://www.zghlxwxcb.cn/news/detail-859480.html
另外,覺得這篇文章不錯的話,也記得給我點贊收藏??!文章來源地址http://www.zghlxwxcb.cn/news/detail-859480.html
到了這里,關(guān)于神器 Rclone:使用 SSH/SFTP 掛載任意遠(yuǎn)程目錄到本地的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!