五月份下旬,微軟發布了正式版Windows Terminial(微軟商店搜索下載,下文簡稱Terminal),類似于Linux和Mac OS的終端,整合了Windows Powershell和cmd命令行,支持WSL(微軟商店的Linux子系統),還更人性化的加入了Azure Cloud Shell自家云的遠程登錄入口,其他還包括多選項卡、窗格、Unicode/UTF-8字符支持、GPU加速文本渲染引擎,以及自定義主題、樣式和配置等等。
既然支持Linux遠程登錄,我們就登錄下。
環境介紹:客戶端為 Windows10 2004,服務器為 CentOS 8(ip:192.168.3.50)。
接下來的操作都在客戶端Window10下,打開Terminal輸入"ssh root@192.168.3.50"
這里我們要輸命令,又要輸密碼,經常要登錄的話勢必比較麻煩。
實現目標:添加CentOS 8入口,無需密碼一鍵登錄
Terminal設置,打開配置文件,不出意外都是系統默認記事本打開的
我們把記事本另存為一下,復制下json配置文件的路徑,利用Notepad++來打開,因為有代碼縮進,看起來更加直觀一點。
光標定位到箭頭處,注意有個英文鍵盤下的逗號",",復制如下代碼
, { "guid": "{cbac4213-67e1-4656-b43a-e0dce04fd8e9}", "hidden": false, "name": "CentOS 8", "commandline": "ssh root@192.168.3.50" }
guid可以到該網站生成https://www.guidgen.com/
Ctrl+s,保存,配置文件部分更改完畢。
可以看到Terminal中已經有CentOS入口,打開需要輸入root密碼
大概思路就是需要把客戶端的公鑰上傳到服務器,可以理解為把本機Windows10添加到CentOS的信任列表里。
生成公鑰的軟件:Git(下的慢的我網盤共享了dwz.cn/dRIhZ0fg)
打開文件管理器,定位到 C:\user\用戶名\.ssh
空白處右鍵Git Bash Here
在跳出的命令行窗口輸入ssh-keygen
一路回車
完成后就會生成倆文件,其中id_rsa.pub就是我們需要的公鑰,右鍵以記事本打開,復制全部字符。
切換到Terminal,登錄到服務器,輸入"vi /root/.ssh/authorized_keys"
按鍵 i 一下切換文本編輯模式,Shift+Insert粘貼剛才復制的字符
按鍵 esc 一下,輸入 ":wq" 保存退出。
OK,搞定,再次嘗試登錄服務器,發現就不需要密碼了。
XShell、putty等都可以很方便的遠程登錄服務器,那為什么還要這么折騰呢?沒有為什么,開心就完事了!
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可以臨時用來訪問遠程文件。