使用 SSHFS 掛載遠端的 Linux 檔案系統及目錄
導讀 | 當我們需要在本地機器上和遠端的目錄和檔案進行互動時,總是會考慮到安全之類的問題,那麼SSHFS將會是一個不錯的選擇。 |
這篇文章對於那些無論出於什麼目的,希望在他們本地的系統中掛載遠端的檔案系統的使用者或者系統管理員有幫助。我們透過 系統中的一個安裝了 SSHFS 客戶端進行實際測試,並且成功的掛載了遠端的檔案系統。
在我們進一步安裝之前,讓我們瞭解一下 SSHFS 的相關內容,以及它是如何工作的。
SSHFS(Secure FileSystem)是一個客戶端,可以讓我們透過 SSH 檔案傳輸協議(SFTP)掛載遠端的檔案系統並且在本地機器上和遠端的目錄和檔案進行互動。
SFTP 是一種透過 SSH 協議提供檔案訪問、檔案傳輸和檔案管理功能的安全檔案傳輸協議。因為 SSH 在網路中從一臺電腦到另一臺電腦傳輸檔案的時候使用資料加密通道,並且 SSHFS 內建在 FUSE(使用者空間的檔案系統)核心模組,允許任何非特權使用者在不修改核心程式碼的情況下建立他們自己的檔案系統。
在這篇文章中,我們將會向你展示在任意 Linux 發行版上如何安裝並且使用 SSHFS 客戶端,在本地 Linux 機器上掛載遠端的 Linux 檔案系統或者目錄。
預設情況下,sshfs 包不存在所有的主流 Linux 發行版中,你需要在你的 Linux 系統中啟用 epel,在 Yum 行的幫助下安裝 SSHFS 及其依賴。
# yum install sshfs # dnf install sshfs 【在 Fedora 22+ 發行版上】 $ sudo apt-get install sshfs 【基於 Debian/Ubuntu 的系統】
當你安裝 SSHFS 包之後,你需要建立一個掛載點目錄,在這兒你將要掛載你的遠端檔案系統。例如,我們在 /mnt/tecmint 下建立掛載目錄。
# mkdir /mnt/tecmint $ sudo mkdir /mnt/tecmint 【基於 Debian/Ubuntu 的系統】
當你已經建立你的掛載點目錄之後,現在使用 root 使用者執行下面的 行,在 /mnt/tecmint 目錄下掛載遠端的檔案系統。視你的情況掛載目錄可以是任何目錄。
下面的命令列將會在本地的 /mnt/tecmint 目錄下掛載一個叫遠端的一個 /home/tecmint 目錄。(不要忘了使用你的 IP 地址和掛載點替換 x.x.x.x)。
# sshfs tecmint@x.x.x.x:/home/tecmint/ /mnt/tecmint $ sudo sshfs -o allow_other tecmint@x.x.x.x:/home/tecmint/ /mnt/tecmint 【基於 Debian/Ubuntu 的系統】
如果你的 Linux 伺服器配置為基於 SSH 金鑰授權,那麼你將需要使用如下所示的命令列指定你的公共金鑰的路徑。
# sshfs -o IdentityFile=~/.ssh/id_rsa tecmint@x.x.x.x:/home/tecmint/ /mnt/tecmint $ sudo sshfs -o allow_other,IdentityFile=~/.ssh/id_rsa tecmint@x.x.x.x:/home/tecmint/ /mnt/tecmint 【基於 Debian/Ubuntu 的系統】
如果你已經成功的執行了上面的命令並且沒有任何錯誤,你將會看到掛載在 /mnt/tecmint 目錄下的遠端的檔案和目錄的列表
# cd /mnt/tecmint # ls [root@ tecmint]# ls 12345.jpg ffmpeg-php-0.6.0.tbz2 Linux news-closeup.xsl s3.jpg cmslogs gmd-latest.sql.tar.bz2 Malware newsletter1.html sshdallow epel-release-6-5.noarch.rpm json-1.2.1 movies_list.php pollbeta.sql ffmpeg-php-0.6.0 json-1.2.1.tgz my_next_artical_v2.php pollbeta.tar.bz2
如果你執行 df -hT命令,你將會看到遠端檔案系統的掛載點。
# df -hT
樣本輸出:
Filesystem Type Size Used Avail Use% Mounted on udev devtmpfs 730M 0 730M 0% /dev tmpfs tmpfs 150M 4.9M 145M 4% /run /dev/sda1 ext4 31G 5.5G 24G 19% / tmpfs tmpfs 749M 216K 748M 1% /dev/shm tmpfs tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs tmpfs 749M 0 749M 0% /sys/fs/cgroup tmpfs tmpfs 150M 44K 150M 1% /run/user/1000 tecmint@192.168.0.102:/home/tecmint fuse.sshfs 324G 55G 253G 18% /mnt/tecmint
為了永久的掛載遠端的檔案系統,你需要修改一個叫
/etc/fstab
的檔案。照著做,使用你最喜歡的編輯器開啟檔案。
# vi /etc/fstab $ sudo vi /etc/fstab 【基於 Debian/Ubuntu 的系統】
移動到檔案的底部並且新增下面的一行,儲存檔案並退出。下麵條目表示使用預設的設定掛載遠端的檔案系統。
sshfs#tecmint@x.x.x.x:/home/tecmint/ /mnt/tecmint fuse.sshfs defaults 0 0
確保伺服器之間允許 SSH無密碼登入,這樣系統重啟之後才能自動掛載檔案系統。
如果你的伺服器配置為基於 SSH 金鑰的認證方式,請加入如下行:
sshfs#tecmint@x.x.x.x:/home/tecmint/ /mnt/tecmint fuse.sshfs IdentityFile=~/.ssh/id_rsa defaults 0 0
接下來,你需要更新 fstab 檔案使修改生效。
# mount -a $ sudo mount -a 【基於 Debian/Ubuntu 的系統】
為了解除安裝遠端的檔案系統,只需要發出以下的命令即可。
# umount /mnt/tecmint
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2931962/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用SSHFS檔案系統遠端掛載目錄
- 使用SSHFS檔案系統通過SSH遠端掛在目錄
- sshfs基於ssh掛載遠端目錄
- 使用 SSHFS 將遠端伺服器目錄掛載到 Windows 本地伺服器Windows
- Linux系統的目錄及重要檔案Linux
- Linux檔案系統、目錄Linux
- Linux檔案系統目錄結構Linux
- Linux檔案及目錄管理Linux
- Linux系統掛載win系統的共享檔案Linux
- Linux 檔案系統掛載mount命令Linux
- linux檔案系統的目錄結構筆記Linux筆記
- IIS虛擬目錄掛載檔案伺服器目錄伺服器
- linux目錄及檔案命令學習Linux
- Linux 基礎-檔案及目錄管理Linux
- 獲取Linux系統中目錄檔案大小的方法Linux
- 檔案系統的掛載 與 非掛載
- linux如何系統掛載u盤複製檔案Linux
- linux-掛載NFS網路檔案系統教程LinuxNFS
- Linux核心啟動之根檔案系統掛載Linux
- Linux 檔案與目錄Linux
- Linux系統下如何修改檔案或目錄的許可權?Linux
- Linux系統檔案系統及檔案基礎篇Linux
- 遠端檔案管理系統(SpringBoot + Vue)Spring BootVue
- Linux檔案和目錄管理Linux
- Linux更改檔案及目錄許可權問題Linux
- i.MX6ULL終結者Linux檔案系統的構建根檔案系統目錄介紹Linux
- 列出並排序檔案系統根目錄(/)下各個目錄的大小排序
- 比起 Windows,怎樣解讀 Linux 的檔案系統與目錄結構?WindowsLinux
- macOS 下NFS 檔案系統掛載MacNFS
- Oracle RAC NFS掛載檔案系統OracleNFS
- 如何在 Linux 中檢視已掛載的檔案系統型別Linux型別
- linux將掛載在home目錄下的磁碟轉移到根目錄下Linux
- linux檔案與目錄管理命令Linux
- Linux檔案與目錄管理(2)Linux
- Linux使用inotify-tools監聽檔案或目錄Linux
- Linux 使用 inotify 監控檔案或目錄變化Linux
- Linux的檔案屬性和目錄配置Linux
- Linux中檔案與目錄的區別Linux