?SSH可以允許遠程訪問服務器來處理管理任務,還可以借助安全網(wǎng)絡協(xié)議,完成SSH文件系統(tǒng)掛載遠程目錄。SSHFS使用SFTP通過安全加密把遠程目錄掛載到本地計算機。這樣連接比標準的FTP安全得多。當掛載了遠程目錄就可以像在本地計算機上一樣的去使用文件。
SSHFS是一種更安全的創(chuàng)建網(wǎng)絡共享的方式,不同在于需要在任何需要鏈接在共享的機器上安裝SSHFS。使用前提是需要有2臺linux機器,這些機器可以是基于ubuntu或者fedoras,還需要有sudo權限。
SSHFS位于標準的存儲庫中,安裝簡單,登錄服務器使用命令進行安裝。
基于 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
安裝后,在本地計算機也安裝上,在本地計算機上的SSHFS配置文件中設置user_allow_other 。為此,請使用以下命令打開文件:
sudo nano /etc/fuse.conf
在該文件中找到以下:
#user_allow_other
將其更改成:
user_allow_other
保存并關閉文件。在遠程服務器上要創(chuàng)建掛在在客戶端服務器上的目錄,使用以下命令把新目錄放在/srv中:
sudo mkdir /srv/data
創(chuàng)建新目錄后,要賦予其所有權,便于用戶或組可以訪問。如果是一個用戶需要訪問,可以使用下面命令來更改所有權:
sudo chown -R USERNAME:USERNAME /srv/data
如果是需要多個用戶訪問該目錄,需要先創(chuàng)建一個組其中 GROUP 是組的名稱,USERNAME 是要添加的用戶的名稱。:
sudo groupadd GROUP
然后需要使用以下命令將新目錄所有權更改為新組:
sudo chown -R USERNAME:GROUP /srv/data
在本地機器上,需要創(chuàng)建一個目錄來存放掛載的遠程目錄。將在用戶的主目錄中創(chuàng)建此目錄。
mkdir ~/data_mount
如果需要把遠程目錄/srv/data掛載到本地目錄~/data_mount,可以通過以下命令完成:
sshfs USER@SERVER:/srv/data ~/data_mount
USER 是遠程用戶名,SERVER 是遠程服務器的 IP 地址。系統(tǒng)將提示您輸入遠程用戶的密碼。成功驗證后,遠程目錄將掛載到本地目錄,您可以像訪問本地計算機一樣訪問它。如果您在~/data_mount中保存或編輯文件,它將反映在遠程計算機上的/srv/data中。
這個安裝的方法只適用于臨時,需要永久安裝SSHFS,需要完成以下步驟。
先在本地計算機上創(chuàng)建SSH密鑰對,確保為密鑰提供一個強大唯一的密碼:
ssh-keygen -t rsa
生成密鑰后,用下面命令將其復制到服務器:
ssh-copy-id USER@SERVER
其中USER是遠程用戶名,SERVER是遠程服務器的IP地址。可以測試下連接,確保其正常工作在本地計算機中實現(xiàn)SSH連接:
ssh USER@SERVER
USER 是遠程用戶名,SERVER 是遠程服務器的 IP 地址。系統(tǒng)應提示您輸入 SSH 密鑰密碼,而不是您的用戶密碼。成功驗證后,使用 exit 命令退出連接。
使此掛載永久生效,修改本地計算機上的/etc/fstab文件。以下命令打開該文件進行編輯:
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 是遠程用戶名,SERVER 是服務器的 IP 地址,USER2 是本地計算機上的用戶名,USER_ID 和 GROUP_ID 是本地計算機獨有的。您可以使用以下命令找到 ID:
Id
看到如下條目(用戶ID是1000,組ID也是1000):
uid=1000(jack) gid=1000(jack)
保存文件并使用以下命令測試掛載:
mount -a
如果沒有收到任何錯誤,則一切正常。
對此有一個警告。在啟動過程中,掛載將失敗,因為將在網(wǎng)絡啟動之前嘗試掛載。因此,在本地機器上重新啟動后,您必須打開終端窗口并使用以下命令掛載 SSHFS 目錄:
mount -a
完成后,就可以像使用本地目錄一樣使用遠程目錄,如需幫助可聯(lián)系。