Windows使用OpenSSH

mi_zy發表於2021-02-09

如何在 Windows 上使用 OpenSSH,包括安裝以及特定於 Windows 的配置和用例?


    OpenSSH 是安全 Shell (SSH) 工具的開放原始碼版本,Linux 及其他非 Windows 系統的管理員使用此類工具跨平臺管理遠端系統。   OpenSSH 在 2018 年秋季已新增至 Windows,幷包含在 Windows 10 和 Windows Server 2019 中。

https://docs.microsoft.com/zh-cn/windows-server/administration/openssh/openssh_overview

有關常見 OpenSSH 功能的其他詳細文件,請參閱

https://www.openssh.com/manual.html

主  OpenSSH 開源專案是由 OpenBSD 專案的開發人員管理的。   此專案的 Microsoft 分支在  GitHub中。  

https://github.com/PowerShell/openssh-portable

維基:(Building OpenSSH for Windows (using LibreSSL crypto))

https://github.com/PowerShell/Win32-OpenSSH/wiki



    SSH 基於客戶端-伺服器體系結構,使用者在其中工作的系統是客戶端,所管理的遠端系統是伺服器。  OpenSSH 包含一系列元件和工具,用於提供一種安全且簡單的遠端系統管理方法,其中包括:

  • sshd.exe,它是遠端所管理的系統上必須執行的 SSH 伺服器元件
  • ssh.exe,它是在使用者的本地系統上執行的 SSH 客戶端元件
  • ssh-keygen.exe,為 SSH 生成、管理和轉換身份驗證金鑰
  • ssh-agent.exe,儲存用於公鑰身份驗證的私鑰
  • ssh-add.exe,將私鑰新增到伺服器允許的列表中
  • ssh-keyscan.exe,幫助從許多主機收集公用 SSH 主機金鑰
  • sftp.exe,這是提供安全檔案傳輸協議的服務,通過 SSH 執行
  • scp.exe 是在 SSH 上執行的檔案複製實用工具

1、從 Windows Server 2019 或 Windows 10 1809 上的“設定”UI 安裝 OpenSSH

OpenSSH 客戶端和伺服器是 Windows 10 1809 的可安裝功能。

若要安裝 OpenSSH,請啟動“設定”,然後轉到“應用”>“應用和功能”>“管理可選功能”。

掃描此列表,檢視 OpenSSH 客戶端是否已安裝。  如果沒有,則在頁面頂部選擇“新增功能”,然後:

  • 若要安裝 OpenSSH 客戶端,請找到“OpenSSH 客戶端”,然後單擊“安裝”。
  • 若要安裝 OpenSSH 伺服器,請找到“OpenSSH 伺服器”,然後單擊“安裝”。

安裝完成後,請返回“應用”>“應用和功能”>“管理可選功能”,你應當會看到列出的 OpenSSH 元件。

安裝 OpenSSH 伺服器將建立並啟用名為“OpenSSH-Server-In-TCP”的防火牆規則。   這允許埠 22 上的入站 SSH 流量。

PS C:\Users\mi_zy> get-netfirewallrule -name *ssh*

Name                  : OpenSSH-Server-In-TCP

DisplayName           : OpenSSH SSH Server (sshd)

Description           : Inbound rule for OpenSSH SSH Server (sshd)

DisplayGroup          : OpenSSH Server

Group                 : OpenSSH Server

Enabled               : True

Profile               : Any

Platform              : {}

Direction             : Inbound

Action                : Allow

EdgeTraversalPolicy   : Block

LooseSourceMapping    : False

LocalOnlyMapping      : False

Owner                 :

PrimaryStatus         : OK

Status                : 已從儲存區成功分析規則。 (65536)

EnforcementStatus     : NotApplicable

PolicyStoreSource     : PersistentStore

PolicyStoreSourceType : Local

2、 通過 PowerShell 安裝 OpenSSH

若要使用 PowerShell 安裝 OpenSSH,請首先以管理員身份啟動 PowerShell。  若要確保 OpenSSH 功能可以安裝,請執行以下操作:

PowerShell 複製
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'# This should return the following output:Name  : OpenSSH.Client~~~~0.0.1.0State : NotPresent
Name  : OpenSSH.Server~~~~0.0.1.0State : NotPresent

然後,安裝伺服器和/或客戶端功能:

PowerShell 複製
# Install the OpenSSH ClientAdd-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0# Install the OpenSSH ServerAdd-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0# Both of these should return the following output:Path          :
Online        : True
RestartNeeded : False


3、 SSH 伺服器的初始配置

若要配置 OpenSSH 伺服器以在 Windows 上首次使用,請以管理員身份啟動 PowerShell,然後執行以下命令來啟動 SSHD 服務:

PowerShell 複製
Start-Service sshd# OPTIONAL but recommended:Set-Service -Name sshd -StartupType 'Automatic'# Confirm the Firewall rule is configured. It should be created automatically by setup.Get-NetFirewallRule -Name *ssh*# There should be a firewall rule named "OpenSSH-Server-In-TCP", which should be enabled# If the firewall does not exist, create oneNew-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

首次使用 SSH

在 Windows 上安裝 OpenSSH 伺服器後,可以從安裝了 SSH 客戶端的任何 Windows 裝置上使用 PowerShell 來快速測試它。  在 PowerShell 中,鍵入以下命令:

PowerShell 複製
Ssh username@servername

到任何伺服器的第一個連線都將生成類似以下內容的訊息:

複製
The authenticity of host 'servername (10.00.00.001)' can't be established.
ECDSA key fingerprint is SHA256:(<a large string>).
Are you sure you want to continue connecting (yes/no)?

回答必須是“yes”或“no”。  回答 Yes 會將該伺服器新增到本地系統的已知 ssh 主機列表中。

系統此時會提示你輸入密碼。  作為安全預防措施,密碼在鍵入的過程中不會顯示。

在連線後,你將看到類似於以下內容的命令 shell 提示符:

複製
domain\username@SERVERNAME C:\Users\username>

Windows OpenSSH 伺服器使用的預設 shell 是 Windows 命令列直譯器。




來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7970627/viewspace-2757011/,如需轉載,請註明出處,否則將追究法律責任。

相關文章