歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> 學習Linux

使用 SSHFS 掛載遠程的 Linux 文件系統及目錄

使用 SSHFS 掛載遠程的 Linux 文件系統及目錄

使用 SSHFS 掛載遠程的 Linux 文件系統及目錄


導讀當我們需要在本地機器上和遠程的目錄和文件進行交互時,總是會考慮到安全之類的問題,那麼SSHFS將會是一個不錯的選擇。

這篇文章對於那些無論出於什麼目的,希望在他們本地的系統中掛載遠程的文件系統的用戶或者系統管理員有幫助。我們通過 Linux 系統中的一個安裝了 SSHFS 客戶端進行實際測試,並且成功的掛載了遠程的文件系統。

在我們進一步安裝之前,讓我們了解一下 SSHFS 的相關內容,以及它是如何工作的。

使用 SSHFS  掛載遠程的 Linux 文件系統及目錄使用 SSHFS  掛載遠程的 Linux 文件系統及目錄

什麼是 SSHFS

SSHFS(Secure SHell FileSystem)是一個客戶端,可以讓我們通過 SSH 文件傳輸協議(SFTP)掛載遠程的文件系統並且在本地機器上和遠程的目錄和文件進行交互。

SFTP 是一種通過 SSH 協議提供文件訪問、文件傳輸和文件管理功能的安全文件傳輸協議。因為 SSH 在網絡中從一台電腦到另一台電腦傳輸文件的時候使用數據加密通道,並且 SSHFS 內置在 FUSE(用戶空間的文件系統)內核模塊,允許任何非特權用戶在不修改內核代碼的情況下創建他們自己的文件系統。

在這篇文章中,我們將會向你展示在任意 Linux 發行版上如何安裝並且使用 SSHFS 客戶端,在本地 Linux 機器上掛載遠程的 Linux 文件系統或者目錄。

步驟1:在 Linux 系統上安裝 SSHFS

默認情況下,sshfs 包不存在所有的主流 Linux 發行版中,你需要在你的 Linux 系統中啟用 epel,在 Yum 命令行的幫助下安裝 SSHFS 及其依賴。

# yum install sshfs# dnf install sshfs              【在 Fedora 22+ 發行版上】$ sudo apt-get install sshfs     【基於 Debian/Ubuntu 的系統】
步驟2:創建 SSHFS 掛載目錄

當你安裝 SSHFS 包之後,你需要創建一個掛載點目錄,在這兒你將要掛載你的遠程文件系統。例如,我們在 /mnt/tecmint 下創建掛載目錄。

# mkdir /mnt/tecmint$ sudo mkdir /mnt/tecmint     【基於 Debian/Ubuntu 的系統】
步驟 3:使用 SSHFS 掛載遠程的文件系統

當你已經創建你的掛載點目錄之後,現在使用 root 用戶運行下面的命令行,在 /mnt/tecmint 目錄下掛載遠程的文件系統。視你的情況掛載目錄可以是任何目錄。

下面的命令行將會在本地的 /mnt/tecmint 目錄下掛載一個叫遠程的一個 /home/tecmint 目錄。(不要忘了使用你的 IP 地址和掛載點替換 x.x.x.x)。

# sshfs [email protected]:/home/tecmint/ /mnt/tecmint$ sudo sshfs -o allow_other [email protected]:/home/tecmint/ /mnt/tecmint      【基於 Debian/Ubuntu 的系統】

如果你的 Linux 服務器配置為基於 SSH 密鑰授權,那麼你將需要使用如下所示的命令行指定你的公共密鑰的路徑。

# sshfs -o IdentityFile=~/.ssh/id_rsa [email protected]:/home/tecmint/ /mnt/tecmint$ sudo sshfs -o allow_other,IdentityFile=~/.ssh/id_rsa [email protected]:/home/tecmint/ /mnt/tecmint     【基於 Debian/Ubuntu 的系統】
步驟 4:驗證遠程的文件系統掛載成功

如果你已經成功的運行了上面的命令並且沒有任何錯誤,你將會看到掛載在 /mnt/tecmint 目錄下的遠程的文件和目錄的列表

# cd /mnt/tecmint# ls[root@ tecmint]# ls12345.jpg                       ffmpeg-php-0.6.0.tbz2                Linux                                           news-closeup.xsl     s3.jpgcmslogs                         gmd-latest.sql.tar.bz2               Malware                                         newsletter1.html     sshdallowepel-release-6-5.noarch.rpm     json-1.2.1                           movies_list.php                                 pollbeta.sqlffmpeg-php-0.6.0                json-1.2.1.tgz                       my_next_artical_v2.php                          pollbeta.tar.bz2
步驟 5:使用 df -hT 命令檢查掛載點

如果你運行 df -hT命令,你將會看到遠程文件系統的掛載點。

# df -hT

樣本輸出:

Filesystem                          Type        Size  Used Avail Use% Mounted onudev                                devtmpfs    730M     0  730M   0% /devtmpfs                               tmpfs       150M  4.9M  145M   4% /run/dev/sda1                           ext4         31G  5.5G   24G  19% /tmpfs                               tmpfs       749M  216K  748M   1% /dev/shmtmpfs                               tmpfs       5.0M  4.0K  5.0M   1% /run/locktmpfs                               tmpfs       749M     0  749M   0% /sys/fs/cgrouptmpfs                               tmpfs       150M   44K  150M   1% /run/user/[email protected]:/home/tecmint fuse.sshfs  324G   55G  253G  18% /mnt/tecmint
步驟 6:永久掛載遠程文件系統

為了永久的掛載遠程的文件系統,你需要修改一個叫

/etc/fstab

的文件。照著做,使用你最喜歡的編輯器打開文件。

# vi /etc/fstab$ sudo vi /etc/fstab     【基於 Debian/Ubuntu 的系統】         

移動到文件的底部並且添加下面的一行,保存文件並退出。下面條目表示使用默認的設置掛載遠程的文件系統。

sshfs#[email protected]:/home/tecmint/ /mnt/tecmint fuse.sshfs defaults 0 0

確保服務器之間允許 SSH無密碼登錄,這樣系統重啟之後才能自動掛載文件系統。

如果你的服務器配置為基於 SSH 密鑰的認證方式,請加入如下行:

sshfs#[email protected]:/home/tecmint/ /mnt/tecmint fuse.sshfs IdentityFile=~/.ssh/id_rsa defaults 0 0

接下來,你需要更新 fstab 文件使修改生效。

# mount -a$ sudo mount -a   【基於 Debian/Ubuntu 的系統】
步驟 7:卸載遠程的文件系統

為了卸載遠程的文件系統,只需要發出以下的命令即可。

# umount /mnt/tecmint

原文來自:https://linux.cn/article-7855-1.html

本文地址:http://www.linuxprobe.com/sshfs-linux-fires.html


http://xxxxxx/Linuxjc/1184558.html TechArticle

Copyright © Linux教程網 All Rights Reserved