幾步命令輕鬆搭建Windows SSH服務端

這裡說的SSH,全名叫做Security Shell,相信經常用Linux的同學不會陌生。SSH最常見的作用就是用來遠程登錄其他系統的命令行界面,當然主要還是給Linux用戶使用的。但是其實現在Windows 10已經自帶了OpenSSH功能,這樣一來,我們就可以在Windows下安裝和使用SSH的相關功能了。下面來看看怎麼來安裝吧。

查看系統版本

首先確定你的系統是否是Windows 10 1809或者更新的系統,如果不是的話,先更新系統,把系統更新到最新狀態。

查看系統版本也十分簡單,打開開始菜單,選擇設置,然後選擇系統->關於,即可在最下面找到系統版本號。


幾步命令輕鬆搭建Windows SSH服務端

系統版本號


又或者,你喜歡命令行的話,也可以從powershell運行下面的命令來查看版本號。

<code>(Get-ItemProperty "HKLM:\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion").ReleaseId
/<code>

安裝OpenSSH

確定了版本號,下面就來安裝OpenSSH。安裝方式也很簡單,還是從開始菜單進入Windows設置,這次選擇應用->應用和功能->可選應用->添加功能進入。


幾步命令輕鬆搭建Windows SSH服務端

可選應用


然後找到OpenSSH服務端和客戶端,安裝這兩項。


幾步命令輕鬆搭建Windows SSH服務端

安裝OpenSSH


如果你喜歡簡潔的命令行的話,同樣簡單,先運行下面的命令查看一下OpenSSH功能。

<code># 先查看一下軟件
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

# 應該會展示以下輸出,注意版本號將來可能會變,安裝的時候注意

Name : OpenSSH.Client~~~~0.0.1.0
State : NotPresent
Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent
/<code>

然後安裝它們即可。

<code># 安裝客戶端
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

# 安裝服務端
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

# 它們的輸出應該類似下面這樣

Path :
Online : True
RestartNeeded : False
/<code>

結果和圖形界面安裝的完全相同。不管採用哪種方式,你現在都擁有了OpenSSH功能了。

啟動SSH服務端

下面打開管理員權限的powershell窗口,這次輸入下面的命令來查看剛剛安裝的OpenSSH服務,下面的sshd就是OpenSSH的服務端了。

<code>Get-Service *|where Name -Like '*ssh*'

Status Name DisplayName
------ ---- -----------
Stopped ssh-agent OpenSSH Authentication Agent
Stopped sshd OpenSSH SSH Server
/<code>

簡單啟動該服務即可。

<code>Start-Service sshd
/<code>

下面就可以用OpenSSH的客戶端來連接了,直接在powershell窗口(無需管理員)中輸入以下命令即可。這裡需要提醒一下,如果你用的是微軟賬號(也就是微軟郵箱)創建和登錄用戶的話,用戶名會被截斷為郵箱@符號前面的一部分,具體來說就是你用戶文件夾的名字,這也是微軟做的比較坑人的一點。

<code>ssh 你的用戶名@localhost
/<code>

然後你應該就會看到命令提示符發生了變化,提示你現在已經進入到了SSH環境中。雖然這個環境還是你的本機。如果你在這個環境裡運行命令,應該還會發現,這是一個cmd窗口,而不是powershell終端窗口。

幾步命令輕鬆搭建Windows SSH服務端

SSH環境


使用SFTP替代FTP

好吧,到這裡你可能會產生一個問題,雖然這樣我們成功得到了在Windows上運行的OpenSSH服務端,但是它有什麼用呢?這個問題問的很好,坦白來說,其實它確實沒什麼用,但是如果對比來說的話,卻是FTP的完美替代產品。

FTP大家應該經常用的吧。我原來就非常喜歡在Windows上開一個IIS服務器,用它來創建FTP服務器來傳輸文件。相信很多人都會這樣用的。但是FTP作為一個老協議,最大的問題就是沒有加密,所有流量都是公開傳輸的,很容易被截獲並讀取。這時候最好用SFTP來替代,雖然它名字很接近,但是其實和FTP沒有任何關係,因為SFTP是基於剛剛介紹的SSH協議的。

那麼SFTP怎麼用呢?其實很簡單,我們剛剛搭建好的OpenSSH服務端自帶SFTP支持,所以現在就已經搭建好了SFTP了。用法很簡單,打開FileZilla或者WinSCP這樣的FTP客戶端軟件,打開協議的下拉列表,就可以看到SFTP這個選項。只需要用鼠標輕輕一點這個選項,我們就獲得了安全、加密、高效的傳輸協議!

幾步命令輕鬆搭建Windows SSH服務端

SFTP選項


另外,如果你是Linux用戶,也不要再Linux上面安裝vsftpd這類FTP服務端了,同樣不安全,還多此一舉。直接用你SSH登錄Linux的用戶名和密碼,隨便找一個FTP客戶端軟件(基本都支持SFTP協議),登錄即可。



分享到:


相關文章: