SSHFS(SSH Filesystem)是一個基于FUSE的文件系統客戶端,用于通過SSH連接遠程目錄。SSHFS使用的是SFTP協議,它是SSH的一個子系統,在大多數SSH服務器上默認啟用
簡介
SSHFS(SSH Filesystem)是一個基于FUSE的文件系統客戶端,用于通過SSH連接遠程目錄。SSHFS使用的是SFTP協議,它是SSH的一個子系統,在大多數SSH服務器上默認啟用
與其他網絡文件系統(如NFS和Samba)相比,SSHFS的優勢在于它不需要在服務器端進行任何額外的配置。要使用SSHFS,您只需要SSH訪問遠程服務器。
系統環境
Cetnos7.7
Windows10
安裝
Centos安裝SSHFS
[root@localhost ~]# yum -y install epel-release && yum -y install sshfs
Windows10安裝SSHFS
需要安裝最新版本的WinFsp和SSHFS-Win,
在Centos中掛載遠程文件系統
SSHFS使用格式:
sshfs [user@]host:[dir] mountpoint [options]
如果沒有指定遠程目錄,默認會連接用戶的家目錄。
例如,遠程主機需要訪問root的家目錄,在這里使用root用戶遠程訪問。掛載點這里使用/mnt文件夾。
[root@localhost ~]# sshfs root@192.168.0.105: /mnt
root@192.168.0.105's password:
系統將提示您輸入用戶密碼。為了避免每次裝載遠程目錄時鍵入密碼,可以生成SSH密鑰并設置無密碼登錄。
如果需要開機自動掛載,可以在/etc/fstab文件中添加:
[root@localhost ~]# echo 'root@192.168.0.105:/Shares /mnt fuse.sshfs defaults 0 0'>> /etc/fstab
前提是需要設置無密碼登錄,不然開機不能掛載。
卸載遠程文件系統
[root@localhost ~]# fusermount -u /mnt/
或者
[root@localhost ~]# umount /mnt
在Windows10中掛載遠程文件系統
默認添加的遠程目錄是用戶的家目錄。
右鍵此電腦 - 映射網絡驅動器
如果需要遠程掛載根目錄,可以如下操作:
總結
由于SSHFS使用SSH協議,所以服務器和客戶端之間傳輸的所有數據都必須加密和解密。與NFS相比,這會導致性能略有下降,并且客戶端和服務器上的CPU使用率更高。sshfs可以臨時用來訪問遠程文件。
安裝完pve之后,需要用到win10操作系統作為桌面虛擬機,這里記錄一下制作過程。首先在官網下載win10的鏡像,下載地址如下:
https://www.wbpluto.com/2018/05/01/official-windows-10-iso-download/
具體下載的時候,發現找不到下載的地方,參考了這個網址,順利下載到iso鏡像:
https://www.wbpluto.com/2018/05/01/official-windows-10-iso-download/
另外,還要下載virtio驅動,下載地址:
https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.160-1/virtio-win-0.1.160.iso
下載完成后之后,將上面2個iso鏡像上傳到pve的nfs存儲(或者local存儲)上。
在pve上創建虛擬機,配置如下:
啟動虛擬機,開始安裝win10專業版,安裝過程中到“你想將windows安裝到哪里”這一步的時候,選擇加載驅動程序并選擇virtio-win-0.1.160.iso這個CDROM中的文件夾,如下圖:
后面就正常安裝win10剩下的步驟就可以了。
我準備使用spice協議連接win10虛擬機,在虛擬機內下載spice客戶端并安裝,下載地址:
https://www.spice-space.org/download/windows/spice-guest-tools/spice-guest-tools-latest.exe
完成初始設置后,根據需要安裝各類基礎應用軟件。
完成安裝后,使用windows自帶的sysprep工具清理私人信息,使之更適合作為模板,參考這個網址操作:
https://www.sysgeek.cn/windows-10-sysprep/
為了連接pve虛擬機的spice,需要下載windows下的virt-viewer,下載地址如下載:
https://virt-manager.org/download/sources/virt-viewer/virt-viewer-x64-7.0.msi
下載并安裝,安裝快到最后的時候會報寫入注冊表錯誤,將防火墻關閉后重試即可。運行效果如下:
關于使用spice協議連接,花了比較多的時間,通過直接在pve宿主機上修改虛擬機的配置文件,增加args參數配置后解決了問題,方法如下:
修改pve宿主機/etc/pve/qemu-server/101.conf 文件,注意101是目標虛擬機的ID號,增加這一行: args: -spice port=61001,addr=0.0.0.0,password=123456,seamless-migration=on 注意,password參數的位置,如果放在最后,連接的時候回提示認證失敗,也許是我自己環境的原因。另外,可以參考這個參數配置,增加了聲卡的支持,但是CPU占用率非常高: args: -device intel-hda,id=sound5,bus=pci.0,addr=0x18 -device hda-micro,id=sound5-codec0,bus=sound5.0,cad=0 -device hda-duplex,id=sound5-odec1,bus=sound5.0,cad=1 -spice port=61002,addr=0.0.0.0,password=123456,seamless-migration=on
使用virt-view連接虛擬機之前,需要首先在pve中設置虛擬機的display終端為default(2019年5月4日更新),如下:
2019年5月4日注:
原來設置為spice,如下,發現只要在web管理界面設置了spice,就會覆蓋掉配置文件里面的配置,因此,需要修改為default,讓配置文件里面的spice參數生效。
使用virt-viewer 連接這個虛擬機:
密碼就是使用參數文件中的password參數123456:
在瘦客戶端中進行設置,也是一樣的,設置pve宿主機IP地址,端口設置為上面設置的端口61002,密碼設置為上面設置的密碼123456。