自Windows 10內部版本 1809 及更高版本,系統(tǒng)默認安裝配置OpenSSH客戶端,默認的安裝目錄C:\Windows\System32\OpenSSH【%SYSTEMROOT%\System32\OpenSSH\】,因此,在系統(tǒng)命令提示符【CMD】可直接調用SSH命令,如下圖所示。
那么,系統(tǒng)該如何部署OpenSSH服務端呢?本期文章予以揭曉。
第1步:快捷鍵:Windows鍵+i,打開Windows設置,如下圖所示;
第2步:不同的windows10系統(tǒng)版本,操作第2步略有差異,主要是找到“可選功能”;
方式1:依次點擊,系統(tǒng)——>可選功能
方式2:依次點擊,應用——>可選功能
按照方式1打開的可選功能,如下圖所示;
點擊,添加功能。
輸入“Open”,檢索OpenSSH服務器,然后選中它進行安裝即可,如下圖所示;
單獨下載OpenSSH安裝包,通過系統(tǒng)powershell可一把安裝客戶端和服務端。因此,建議在安裝它之前卸載系統(tǒng)默認安裝OpenSSH客戶端,卸載的關鍵步驟還是要找到“可選功能”,在此就不再演示。
第1步:下載OpenSSH安裝包,如下圖所示;
第2步:解壓該安裝包并拷貝到C:\Program Files;
第3步:以管理員權限運行命令提示符【CMD】,進入C:\Program Files\OpenSSH-Win64安裝目錄,然后執(zhí)行命令powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1進行SSH服務及客戶端的安裝,如下圖所示;
第4步:配置SSH環(huán)境變量
快捷鍵:Windows鍵+i,打開Windows設置
依次點擊:系統(tǒng)——>關于——>高級系統(tǒng)設置,如下圖所示;
點擊,環(huán)境變量,如下圖所示;
編輯系統(tǒng)變量,如下圖所示;
新建系統(tǒng)環(huán)境變量,如下圖所示;
第5步:查看驗證SSH的版本,如下圖所示;
打開命令提示符【CMD】,輸入命令services.msc打開服務,如下圖所示;
定位到OpenSSH SSH Server并啟動該服務。
以上分享,希望各位小伙伴有所收獲,歡迎各位點贊、收藏和指正。
在Windows 環(huán)境中的大多數(shù)身份驗證都基于用戶名-密碼對完成的,很容易受到暴力攻擊入侵。相對于Linux 環(huán)境通常使用公鑰/私鑰對來驅動身份驗證,這不要求使用可推測的密碼。“私鑰”文件和“公鑰”文件采用非對稱加密算法生成,私鑰文件等效于密碼,用于解密由公鑰加密的數(shù)據(jù)。
基于密鑰的身份驗證的工具的具體實現(xiàn)邏輯是:
客戶端:ssh-keygen:生成安全的密鑰,公鑰和私鑰;
客戶端:ssh-agent 和 ssh-add:安全地存儲私鑰,加載私鑰后,客戶端本地系統(tǒng)可刪除私鑰文件;
客戶端:scp 和 sftp:客戶端把公鑰上傳到SSH服務端。
那么,Windows10系統(tǒng)該如何實現(xiàn)基于密鑰的身份驗證呢?本期文章予以揭曉。
客戶端系統(tǒng)生成私鑰和公鑰文件。
打開系統(tǒng)命令提示符,輸入命令“ssh-keygen -t ed25519”;
按 Enter 來接受默認值,或指定要在其中生成密鑰的路徑和/或文件名,然后,系統(tǒng)會提示你使用密碼來加密你的私鑰文件;
直接按 Enter默認不設置密碼,建議使用密碼加密私鑰文件,從而實現(xiàn)基于密碼與密鑰文件的雙因子身份驗證。
如下圖所示:
未設置密碼加密私鑰文件;
生成的私鑰文件保存的位置:C:\Users\Administrator/.ssh/Tid_ed25519;
生成的公鑰文件保存的位置:C:\Users\Administrator/.ssh/Tid_ed25519.pub;
客戶端系統(tǒng)啟動ssh-agent服務并加載私鑰。
打開命令提示符【CMD】,輸入命令services.msc打開服務,如下圖所示;
定位到OpenSSH Authentication Agent并啟動該服務。
以管理員權限打開命令提示符【CMD】,輸入命令ssh-add C:\Users\Administrator\.ssh\Tid_ed25519加載私鑰,如下圖所示;
將私鑰加載到客戶端上的 ssh-agent 后,ssh-agent 會自動檢索本地私鑰并將其傳遞給 SSH 客戶端。
Tips:
建議將私鑰備份到一個安全位置,待ssh-agent將其加載后,即可把它從本地系統(tǒng)中刪除。此外,使用強算法Ed25519是無法從代理中檢索私鑰。
客戶端系統(tǒng)把生成的公鑰文件上傳到SSH服務端系統(tǒng)。
對于SSH服務端系統(tǒng)的管理員賬戶,將公鑰(Tid_ed25519.pub)的內容需放置在SSH服務端系統(tǒng)上的一個名為 administrators_authorized_key的文本文件中,該文件位于 C:\ProgramData\ssh\,如下圖所示;
關鍵命令釋義:
#定義變量authorizedKey,把公鑰文件賦值給它
$authorizedKey = Get-Content -Path C:\Users\Administrator\.ssh\Tid_ed25519.pub
#定義變量remotePowershell,并調用變量authorizedKey
$remotePowershell = "powershell Add-Content -Force -Path $env:ProgramData\ssh\administrators_authorized_keys -Value '$authorizedKey';icacls.exe ""$env:ProgramData\ssh\administrators_authorized_keys"" /inheritance:r /grant ""Administrators:F"" /grant ""SYSTEM:F"""
#登錄SSH服務端系統(tǒng)并調用變量remotePowershell
ssh administrator@192.168.1.10 $remotePowershell
打開命令提示符【CMD】,輸入命令“ssh 192.168.1.10”,即可登錄SSH服務端系統(tǒng),如下圖所示;
以上分享,希望各位小伙伴有所收獲,歡迎各位點贊、收藏和指正。