Windows Server體驗之SSH遠程連接


經過之前的各種遠程管理方法,Windows Server可以被很好的管理,也能符合大多數Windows管理員的使用習慣。不過既然是命令行版本的Windows能不能和Linux一樣管理呢?Windows上啟用SSH服務。
為了符合Linux的管理方式,那么就需要在Windows上啟用SSH服務。微軟官方也給出了如何在Windows Server上使用OpenSSH管理的方法。
OpenSSH in Windows
https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_overview

官方文章中有很多實用的步驟,但是在操作過程中我也遇到了一些問題。最終自己摸索着解決了。

首先,我們要安裝OpenSSH服務器端。可以使用Powershell命令來檢查公網倉庫中的軟件包。
Get-WindowsCapability -Online | ? Name -Like '*SSH*'

如果看不到圖,請點我
 
可以看到有服務器和客戶端2個包,其中客戶端的已經裝好了。知道了包的名字,我們就可以安裝了。
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
 
很快,就能看到OpenSSH Server被裝好了。
 
接下去,就是需要啟用服務並在防火牆中放行TCP 22。這里,我們使用Admin Center的方式啟用服務並啟用防火牆規則。其中防火牆規則是自動創建的,只需要啟用它就餓可以了。由於我們最終需要通過密鑰的方式登錄系統,所以需要將ssh-agent服務也啟動。並將他們的啟動類型都改成自動。
 
 
到這里,就可以直接使用SSH連接到服務器了,可以使用密碼登錄了。但是為了方便統一登錄管理,最終目標是使用密鑰的方式登錄。
sshd的配置文件在C:\ProgramData\ssh目錄下。編輯sshd_config,去掉PubkeyAuthentication yes前面的注釋。然后在C:\Users\Administrator下建立文件夾.ssh,並且將公鑰文件復制過去,名字改成authorized_keys。如果是Linux服務器,這樣就可以用本地的私鑰登錄了。但是這個Windows服務器就是不行,還是會提示輸入密碼。試過大寫A Administrator 小寫a administrator,都不可以。試着按官方文章中的方法修復authorized_keys文件的權限也沒用。
接下來,試着從Linux主機復制公鑰到服務器上,結果發現用戶配置文件.ssh目錄下並沒有。
 
經過反復測試發現文件都被上傳在了C:\Users\Administrator目錄下。
 
后來發現是由於路徑的問題,Linux使用/而Windows使用\。重新用/作為路徑之后就可以了。
scp id_rsa.pub administrator@ip:c:/users/administrator/.ssh/authorized_keys
之后就可以直接使用密鑰登錄系統了。
關於文件的權限,也並不需要按官方文章中提到的修復權限。
我服務器上文件的權限如圖所示。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM