Windows安装OpenSSH Server

安装OpenSSH Server

Windows Server 2019或Windows 10(1803)及以上系统

  • 运行命令查询可安装OpenSSH

    1
    2
    3
    4
    5
    6
    7
    8
    
    Get-WindowsCapability -Online | ? Name -like  'OpenSSH*'
    
    
    Name  : OpenSSH.Client~~~~0.0.1.0
    State : Installed
    
    Name  : OpenSSH.Server~~~~0.0.1.0
    State : NotPresent
    
  • 安装OpenSSH

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    
    # 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
    
    # Both of these should return the following   output:
    
    Path          :
    Online        : True
    RestartNeeded : False
    

旧版Windows系统

  • 下载最新Win32-OpenSSH(根据所需下载OpenSSH-Win32.zipOpenSSH-Win64.zip)。

  • 解压文件至C:\Program Files\OpenSSH

  • 在该目录下运行命令安装sshd和ssh-agent服务:

    powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1

配置sshd服务

  • 启动sshd服务:

    net start sshd

  • 设置sshd服务自动启动:

    sc config sshd start=auto

  • 创建防火墙规则:

    netsh advfirewall firewall add rule name=“sshd” dir=in action=allow protocol=TCP localport=22

配置Administrator用户使用公钥免密码登录

  • 在目录%ProgramData%\ssh下创建文件administrators_authorized_keys,在该文件里写入公钥。

  • 运行命令配置改文件权限:

1
2
3
icacls administrators_authorized_keys /inheritance:r
icacls administrators_authorized_keys /grant SYSTEM:(F)
icacls administrators_authorized_keys /grant BUILTIN\Administrators:(F)

安装PowerShell 7

低版本操作系统(Windows Server 2008 R2 SP1、Windows Server 2012)

更改OpenSSH的默认shell

  • 运行命令:

    New-ItemProperty -Path “HKLM:\SOFTWARE\OpenSSH” -Name DefaultShell -Value “C:\Program Files\PowerShell\7\pwsh.exe” -PropertyType String -Force

Licensed under CC BY-NC-SA 4.0