?ssh可以允許遠(yuǎn)程訪問服務(wù)器來處理管理任務(wù),還可以借助安全網(wǎng)絡(luò)協(xié)議,完成ssh文件系統(tǒng)掛載遠(yuǎn)程目錄。sshFS使用SFTP通過安全加密把遠(yuǎn)程目錄掛載到本地計(jì)算機(jī)。這樣連接比標(biāo)準(zhǔn)的FTP安全得多。當(dāng)掛載了遠(yuǎn)程目錄就可以像在本地計(jì)算機(jī)上一樣的去使用文件。
sshFS是一種更安全的創(chuàng)建網(wǎng)絡(luò)共享的方式,不同在于需要在任何需要鏈接在共享的機(jī)器上安裝sshFS。使用前提是需要有2臺(tái)Linux機(jī)器,這些機(jī)器可以是基于Ubuntu或者fedoras,還需要有sudo權(quán)限。
sshFS位于標(biāo)準(zhǔn)的存儲(chǔ)庫中,安裝簡(jiǎn)單,登錄服務(wù)器使用命令進(jìn)行安裝。
基于 Ubuntu 的發(fā)行版
sudo apt-get install sshfs -y
基于 Fedora 的發(fā)行版
sudo dnf install fuse-sshfs -y
基于 Arch 的發(fā)行版
sudo pacman -S sshfs
基于 openSUSE 的發(fā)行版
sudo zypper -n in sshfs
安裝后,在本地計(jì)算機(jī)也安裝上,在本地計(jì)算機(jī)上的sshFS配置文件中設(shè)置user_allow_other 。為此,請(qǐng)使用以下命令打開文件:
sudo nano /etc/fuse.conf
在該文件中找到以下:
#user_allow_other
將其更改成:
user_allow_other
保存并關(guān)閉文件。在遠(yuǎn)程服務(wù)器上要?jiǎng)?chuàng)建掛在在客戶端服務(wù)器上的目錄,使用以下命令把新目錄放在/srv中:
sudo mkdir /srv/data
創(chuàng)建新目錄后,要賦予其所有權(quán),便于用戶或組可以訪問。如果是一個(gè)用戶需要訪問,可以使用下面命令來更改所有權(quán):
sudo chown -R USERNAME:USERNAME /srv/data
如果是需要多個(gè)用戶訪問該目錄,需要先創(chuàng)建一個(gè)組其中 GROUP 是組的名稱,USERNAME 是要添加的用戶的名稱。:
sudo groupadd GROUP
然后需要使用以下命令將新目錄所有權(quán)更改為新組:
sudo chown -R USERNAME:GROUP /srv/data
在本地機(jī)器上,需要?jiǎng)?chuàng)建一個(gè)目錄來存放掛載的遠(yuǎn)程目錄。將在用戶的主目錄中創(chuàng)建此目錄。
mkdir ~/data_mount
如果需要把遠(yuǎn)程目錄/srv/data掛載到本地目錄~/data_mount,可以通過以下命令完成:
sshfs USER@SERVER:/srv/data ~/data_mount
USER 是遠(yuǎn)程用戶名,SERVER 是遠(yuǎn)程服務(wù)器的 IP 地址。系統(tǒng)將提示您輸入遠(yuǎn)程用戶的密碼。成功驗(yàn)證后,遠(yuǎn)程目錄將掛載到本地目錄,您可以像訪問本地計(jì)算機(jī)一樣訪問它。如果您在~/data_mount中保存或編輯文件,它將反映在遠(yuǎn)程計(jì)算機(jī)上的/srv/data中。
這個(gè)安裝的方法只適用于臨時(shí),需要永久安裝sshFS,需要完成以下步驟。
先在本地計(jì)算機(jī)上創(chuàng)建ssh密鑰對(duì),確保為密鑰提供一個(gè)強(qiáng)大唯一的密碼:
ssh-keygen -t rsa
其中USER是遠(yuǎn)程用戶名,SERVER是遠(yuǎn)程服務(wù)器的IP地址。可以測(cè)試下連接,確保其正常工作在本地計(jì)算機(jī)中實(shí)現(xiàn)ssh連接:
ssh USER@SERVER
USER 是遠(yuǎn)程用戶名,SERVER 是遠(yuǎn)程服務(wù)器的 IP 地址。系統(tǒng)應(yīng)提示您輸入 ssh 密鑰密碼,而不是您的用戶密碼。成功驗(yàn)證后,使用 exit 命令退出連接。
使此掛載永久生效,修改本地計(jì)算機(jī)上的/etc/fstab文件。以下命令打開該文件進(jìn)行編輯:
sudo nano /etc/fstab
在文件底部粘貼行:
USER1@SERVER:/srv/data /home/USER1/data_mount fuse.sshfs x-systemd.automount,_netdev,user,idmap=user,transform_symlinks,identityfile=/home/USER2/.ssh/id_rsa,allow_other,default_permissions,uid=USER_ID_N,gid=USER_GID_N 0 0
其中 USER1 是遠(yuǎn)程用戶名,SERVER 是服務(wù)器的 IP 地址,USER2 是本地計(jì)算機(jī)上的用戶名,USER_ID 和 GROUP_ID 是本地計(jì)算機(jī)獨(dú)有的。您可以使用以下命令找到 ID:
Id
看到如下條目(用戶ID是1000,組ID也是1000):
uid=1000(jack) gid=1000(jack)
保存文件并使用以下命令測(cè)試掛載:
mount -a
如果沒有收到任何錯(cuò)誤,則一切正常。
對(duì)此有一個(gè)警告。在啟動(dòng)過程中,掛載將失敗,因?yàn)閷⒃诰W(wǎng)絡(luò)啟動(dòng)之前嘗試掛載。因此,在本地機(jī)器上重新啟動(dòng)后,您必須打開終端窗口并使用以下命令掛載 sshFS 目錄:
mount -a
完成后,就可以像使用本地目錄一樣使用遠(yuǎn)程目錄,如需幫助可聯(lián)系小浪云。