不用微软商店!5分钟搞定Win10 OpenSSH离线安装(附GitHub下载指南)
绕过微软商店:Win10 OpenSSH离线安装全攻略
每次在Windows 10的可选功能里尝试安装OpenSSH时,那个转圈圈进度条是不是总让你提心吊胆?微软商店的安装方式不仅速度慢,还经常莫名其妙失败。作为技术爱好者,我们完全有更高效的选择——直接从GitHub获取官方OpenSSH离线包进行安装。这种方法不仅速度快,还能避免微软商店的各种不可靠因素。
1. 为什么选择离线安装OpenSSH?
Windows 10虽然内置了通过"可选功能"安装OpenSSH的途径,但实际体验往往不尽如人意。常见问题包括:
- 下载速度缓慢,有时甚至完全无法连接微软服务器
- 安装过程中出现未知错误,导致整个流程失败
- 无法控制安装的具体版本,自动更新可能带来兼容性问题
相比之下,GitHub上的官方OpenSSH离线包提供了以下优势:
版本可控性:你可以自由选择特定版本进行安装,避免自动更新带来的意外安装速度:本地安装比在线下载快得多,特别适合网络环境不稳定的情况可重复性:安装包可以保存下来,方便在多台机器上部署相同环境透明度:开源代码让你清楚知道自己在安装什么,没有隐藏的附加组件
2. 准备工作:获取正确的安装包
2.1 访问官方GitHub仓库
OpenSSH的Windows移植版由PowerShell团队维护,官方仓库地址为:
https://github.com/PowerShell/Win32-OpenSSH/releases提示:请务必从上述官方地址下载,避免使用第三方来源的安装包,以防安全风险。
2.2 选择适合的版本
在Releases页面,你会看到类似这样的文件列表:
| 文件名 | 适用系统 | 说明 |
|---|---|---|
| OpenSSH-Win64.zip | 64位Windows | 推荐大多数现代PC使用 |
| OpenSSH-Win32.zip | 32位Windows | 老旧设备可能需要 |
选择与你的系统架构匹配的版本下载。如果不确定系统类型,可以按Win+R输入msinfo32查看"系统类型"。
3. 安装步骤详解
3.1 解压文件到指定目录
下载完成后,将ZIP文件解压到C:\Program Files\OpenSSH目录。如果该目录不存在,需要手动创建。
操作步骤:
- 右键点击下载的ZIP文件,选择"全部解压缩"
- 指定解压路径为
C:\Program Files\OpenSSH - 确保解压后的文件结构正确,应该包含以下关键文件:
- install-sshd.ps1
- ssh.exe
- sshd.exe
- scp.exe
3.2 以管理员权限运行PowerShell
安装OpenSSH需要管理员权限,按以下步骤操作:
- 在开始菜单搜索"PowerShell"
- 右键点击"Windows PowerShell",选择"以管理员身份运行"
- 使用cd命令切换到OpenSSH目录:
cd "C:\Program Files\OpenSSH"3.3 执行安装脚本
在PowerShell中运行以下命令开始安装:
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1这个命令做了以下几件事:
- 设置执行策略为Bypass,允许运行脚本
- 执行install-sshd.ps1安装脚本
- 注册OpenSSH服务到Windows服务管理器
注意:如果遇到执行策略错误,可以先运行
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser临时修改策略。
4. 配置与优化
4.1 启动SSH服务
安装完成后,需要手动启动服务:
Start-Service sshd检查服务状态确认是否运行正常:
Get-Service sshd4.2 设置开机自启
为了避免每次重启后手动启动服务,可以配置为自动启动:
Set-Service sshd -StartupType Automatic4.3 防火墙配置
Windows防火墙可能会阻止SSH连接,需要添加允许规则:
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 225. 验证安装
5.1 本地连接测试
在PowerShell中尝试连接到本地SSH服务:
ssh localhost首次连接会提示保存主机密钥,输入yes继续。如果看到登录提示,说明安装成功。
5.2 远程连接测试
从另一台设备尝试连接:
ssh username@your-windows-ip替换username为你的Windows用户名,your-windows-ip为Windows机器的IP地址。
6. 常见问题解决
6.1 连接被拒绝
如果遇到"Connection refused"错误,检查:
- SSH服务是否正在运行(
Get-Service sshd) - 防火墙是否允许端口22的入站连接
- 是否使用了正确的IP地址
6.2 认证失败
确保使用正确的Windows用户名和密码。注意:Windows OpenSSH默认使用Windows账户系统进行认证。
6.3 服务启动失败
查看详细错误信息:
Get-WinEvent -LogName Application -MaxEvents 100 | Where-Object {$_.Source -like "OpenSSH*"} | Format-List常见原因包括:
- 端口22被其他程序占用
- 缺少必要的依赖项
- 权限问题
7. 高级配置选项
7.1 修改默认端口
如果担心安全风险,可以更改SSH监听端口。编辑C:\ProgramData\ssh\sshd_config文件,找到并修改:
Port 2222然后重启服务:
Restart-Service sshd别忘了更新防火墙规则允许新端口。
7.2 启用公钥认证
相比密码认证,公钥认证更安全。配置步骤:
- 在客户端生成密钥对:
ssh-keygen -t rsa将公钥(~/.ssh/id_rsa.pub)内容添加到Windows服务器的
C:\ProgramData\ssh\administrators_authorized_keys文件中确保文件权限正确:
icacls.exe "C:\ProgramData\ssh\administrators_authorized_keys" /inheritance:r /grant "Administrators:F" /grant "SYSTEM:F"- 在sshd_config中确保以下设置:
PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys- 重启SSH服务使更改生效
7.3 日志配置
OpenSSH的日志默认存储在Windows事件日志中。要启用详细日志,编辑sshd_config:
LogLevel DEBUG3查看日志:
Get-WinEvent -LogName Application -MaxEvents 100 | Where-Object {$_.Source -like "OpenSSH*"}8. 维护与更新
8.1 备份配置
建议定期备份以下重要文件:
C:\ProgramData\ssh\sshd_configC:\ProgramData\ssh\administrators_authorized_keysC:\Program Files\OpenSSH整个目录
8.2 升级OpenSSH
当GitHub发布新版本时,升级步骤:
- 下载新版ZIP包
- 停止SSH服务:
Stop-Service sshd - 备份现有安装目录
- 解压新版本覆盖旧文件
- 重新运行安装脚本
- 启动服务:
Start-Service sshd
8.3 卸载OpenSSH
如果需要完全移除:
cd "C:\Program Files\OpenSSH" .\uninstall-sshd.ps1然后手动删除C:\Program Files\OpenSSH和C:\ProgramData\ssh目录。
