Windows下安装OpenSSH Server
起因
有时候要在Windows上执行一些命令,并且不想来回复制结果。通过SSH可以把命令行结果直接输出给本地Linux程序。
系统要求
以下内容只针对Windows10或Windows11,更早期的系统可能不适用。
从设置中选装
- 打开设置 - 系统 - 可选功能,搜索"SSH"
- 选择
OpenSSH 服务器
添加功能
使用PowerShell安装
- 以管理员身份打开PowerShell
- 查看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则表示已安装。
- 安装 OpenSSH 服务器
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
- 启动 OpenSSH 服务器
Start-Service sshd
- 设置服务自启动
Set-Service -Name sshd -StartupType 'Automatic'
- 查看端口监听
netstat -an | findstr /i ":22"
- 确保防火墙允许 SSH 端口
Get-NetFirewallRule -Name *OpenSSH-Server* | select Name, DisplayName, Description, Enabled
- 编辑配置文件
Start-Process Notepad C:\Programdata\ssh\sshd_config
- 重启SSH服务使配置生效
Restart-Service sshd
注意事项
- SSH的登录名称是账户的本地账户名
- SSH的密码如果使用的联网账户,则是联网账户密码,如果是本地账户,则是本地账户密码。
- 如果用Pubkey验证,管理员的公钥需要放在
C:\ProgramData\ssh\administrators_authorized_keys
文件中,其他用户的公钥放在C:\Users\<username>\.ssh\authorized_keys
文件中。
最后修改于 2025-05-07