安裝 OpenSSH

適用于 Windows server 2019、Windows 10: Windows Server 2022、

OpenSSH 是使用 SSH 通訊協定進行遠端登入的連接工具。 它會加密用戶端與伺服器之間的所有流量,以消除竊聽、連接劫持和其他攻擊。

openssh 可用來將 windows 10 (組建1809和更新版本的) 或 Windows 伺服器2019裝置,並安裝 openssh 用戶端至已安裝 openssh 伺服器的裝置。

重要

如果您從PowerShell/OpenSSH-可攜的 GitHub 存放庫下載 OpenSSH,請依照此處所列的指示,而不是本文中的指示。

使用 Windows 設定安裝 OpenSSH

您可以使用 Windows Server 2019 和 Windows 10 裝置上的 Windows 設定,安裝這兩個 OpenSSH 元件。

若要安裝 OpenSSH 元件:

  1. 開啟 設定,選取 [應用程式] > 應用程式 & 功能,然後選取 [選用功能]。

  2. 掃描清單,查看是否已安裝 OpenSSH。 如果沒有,請在頁面頂端選取 [ 新增功能],然後:

    • 尋找 OpenSSH 用戶端,然後按一下 [安裝]。
    • 尋找 OpenSSH 伺服器,然後按一下 [安裝]。

安裝程式完成後,請返回 應用程式 > 應用程式 & 功能選用功能 ,您應該會看到已列出 OpenSSH。

注意

安裝 OpenSSH 伺服器會建立並啟用名為的防火牆規則 OpenSSH-Server-In-TCP 。 這個規則會允許連接埠 22 上的輸入 SSH 流量。 如果未啟用此規則,且此埠未開啟,則會拒絕或重設連接。

使用 PowerShell 安裝 OpenSSH

若要使用 PowerShell 安裝 OpenSSH,請以系統管理員身分執行 PowerShell。 若要確認 OpenSSH 可供使用,請執行下列 Cmdlet:

Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'

如果尚未安裝,這應該會傳回下列輸出:

Name  : OpenSSH.Client~~~~0.0.1.0
State : NotPresent

Name  : OpenSSH.Server~~~~0.0.1.0
State : NotPresent

然後,視需要安裝伺服器或用戶端元件:

# Install the OpenSSH Client
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

# Install the OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

這兩個都應該會傳回下列輸出:

Path          :
Online        : True
RestartNeeded : False

啟動及設定 OpenSSH 伺服器

若要啟動並設定 OpenSSH 伺服器以進行初始使用,請以系統管理員身分開啟 PowerShell,然後執行下列命令以啟動 sshd service

# Start the sshd service
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. Run the following to verify
if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) {
    Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..."
    New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
} else {
    Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists."
}

連線至 OpenSSH 伺服器

安裝之後,您可以從 Windows 10 或 Windows Server 2019 裝置連線至 openssh 伺服器,並使用 PowerShell 安裝的 openssh 用戶端,如下所示。 請務必以系統管理員身分執行 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)?

選取 [是] 會將該伺服器新增至 Windows 用戶端上已知的 SSH 主機清單中。

此時系統會提示您輸入密碼。 作為安全性預防措施,您的密碼在您輸入時不會顯示。

連線之後,您會看到 Windows 命令 shell 提示字元:

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

使用 Windows 設定卸載 OpenSSH

若要使用 Windows 設定來卸載 OpenSSH:

  1. 開啟 設定,然後移至 應用程式 > 應用程式 & 功能
  2. 移至 選擇性功能
  3. 在清單中,選取 [ Openssh 用戶端openssh 伺服器]。
  4. 選取 [解除安裝]。

使用 PowerShell 卸載 OpenSSH

若要使用 PowerShell 卸載 OpenSSH 元件,請使用下列命令:

# Uninstall the OpenSSH Client
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

# Uninstall the OpenSSH Server
Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

如果服務在卸載時正在使用中,您可能需要重新開機 Windows。