Windows Server 2019 開啟ssh


從 Win10 1809 和 Windows Server 2019 開始 Windows 開始支持 OpenSSH Server。本文介紹一下其基本的概念和配置方法,本文演示用的環境為 Win10 1809(ssh 客戶端)和 Windows Server 2019(ssh 服務器)。

安裝 OpenSSH Server

OpenSSH 客戶端程序默認已經被系統安裝好了,打開 Settings->Apps->Manage optional features 面板就可以看到:

而 OpenSSH Server 默認沒有安裝,需要用戶手動安裝。點擊上圖中的 "Add a feature" 按鈕,然后選擇 OpenSSH Server,並點擊 "Install" 按鈕:

開啟服務
安裝完成后打開服務管理器,把 OpenSSH Authentication Agent 服務和 OpenSSH SSH Server 服務都設置為自啟動,並啟動這兩個服務:

監聽端口
啟動服務后可以通過 netstat 命令查看 SSH Server 服務是不是已經開始監聽默認的 22 號端口了:

防火牆規則
在安裝 OpenSSH Server 的時候會在防火牆的入站規則中添加一條記錄讓防火牆放行對 22 號端口的訪問:

添加Jenkins賬戶,設置為Administrator組,這里可以限制權限,這里簡單起見就這么設置

這樣就可以遠程連接了,但是遠程連接成功后默認的 shell 是 Windows Command shell (cmd.exe) 程序,在powershell 大行其道的時候應該修改為powershell 為默認程序

 

其實就是在運行 OpenSSH Server 的 Windows 系統的注冊表中添加一個配置項,注冊表路徑為 HKEY_LOCAL_MACHINE\SOFTWARE\OpenSSH,項的名稱為 DefaultShell,項的值為 C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe。我們可以以管理員身份啟動 PowerShell,然后執行下面的命令完成注冊表項的添加:

注意:這個設置推薦作為 本機需要執行很多powershell的機器,比如最終的部署機器.  有一種情況需要注意,這樣設置反而不好(如果設置了可以刪除這條注冊表項目),當該Windows 作為 Slave 機器的時候,作為Master 連接 Slave 的時候很多命令執行不了,因為 jenkins 還是認為是Windows Command shell,寫的連接node的程序也是針對 cmd的。

> New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force

 居然報錯了

 

 

Powershell腳本的4種執行權限介紹

  • Restricted - 默認的設置, 不允許任何script運行
  • AllSigned - 只能運行經過數字證書簽名的script
  • RemoteSigned - 運行本地的script不需要數字簽名,但是運行從網絡上下載的script就必須要有數字簽名
  • Unrestricted - 允許所有的script運行

windows默認不允許任何腳本運行,可以使用 "Set-ExecutionPolicy" cmdlet 來更改這個策略。

修改方法:

右鍵 powershell 圖標 選擇 “Run as Administrator”, 執行以下語句 -> "y" 即可。

Set-ExecutionPolicy Unrestricted

 


免責聲明!

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



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