Windows下安装OpenSSH Server

起因

有时候要在Windows上执行一些命令,并且不想来回复制结果。通过SSH可以把命令行结果直接输出给本地Linux程序。

系统要求

以下内容只针对Windows10或Windows11,更早期的系统可能不适用。

从设置中选装

  1. 打开设置 - 系统 - 可选功能,搜索"SSH"
  2. 选择 OpenSSH 服务器 添加功能

使用PowerShell安装

  1. 以管理员身份打开PowerShell
  2. 查看OpenSSH安装状态
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'

返回内容如下:

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

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

返回NotPresent,表示未安装;返回Installed则表示已安装。

  1. 安装 OpenSSH 服务器
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
  1. 启动 OpenSSH 服务器
Start-Service sshd
  1. 设置服务自启动
Set-Service -Name sshd -StartupType 'Automatic'
  1. 查看端口监听
netstat -an | findstr /i ":22"
  1. 确保防火墙允许 SSH 端口
Get-NetFirewallRule -Name *OpenSSH-Server* | select Name, DisplayName, Description, Enabled
  1. 编辑配置文件
Start-Process Notepad C:\Programdata\ssh\sshd_config
  1. 重启SSH服务使配置生效
Restart-Service sshd

注意事项

  1. SSH的登录名称是账户的本地账户名
  2. SSH的密码如果使用的联网账户,则是联网账户密码,如果是本地账户,则是本地账户密码。
  3. 如果用Pubkey验证,管理员的公钥需要放在C:\ProgramData\ssh\administrators_authorized_keys文件中,其他用户的公钥放在C:\Users\<username>\.ssh\authorized_keys文件中。

最后修改于 2025-05-07