Win10 离线安装OpenSSH Server

本文指导您如何从GitHub下载OpenSSH for Windows,包括解压、安装路径设置,以及使用PowerShell脚本快速配置并启动sshd服务。

GitHub地址:https://github.com/PowerShell/Win32-OpenSSH/releases 

step1# 下载OpenSSH-Win64.zip

step2# 将解压之后的OpenSSH-Win64.zip放入至C:\Program Files (x86)\OpenSSH-Win64

step3# 以管理员权限打开cmd

step4# 输入以下命令,安装sshd
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
sc config sshd start= auto
net start sshd

 

如果你在 **Windows 10** 上安装 **OpenSSH 服务器OpenSSH SSH Server)** 时遇到 **安装失败** 的问题,这可能是由于系统版本、权限、网络、或组件缺失等原因导致的。 --- ## ✅ 常见错误与解决方法 ### ❌ 问题 1:找不到 OpenSSH 服务器 #### 现象: 在“可选功能”中找不到 **OpenSSH 服务器** #### 解决方法: 确保你的 Windows 10 版本为 **1809 或更高版本**(建议使用 20H2 或 Win10 21H2 或更新)。 1. 打开 PowerShell(管理员权限) 2. 运行以下命令查看可用的 OpenSSH 功能: ```powershell 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 ``` 3. 安装 OpenSSH 服务器: ```powershell Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 ``` --- ### ❌ 问题 2:安装失败,提示“找不到资源”或“无法安装” #### 原因: - 系统未联网(安装 OpenSSH Server 需要联网下载组件) - 系统版本过低 - 系统文件损坏 #### 解决方法: 1. **确保网络畅通** - OpenSSH 服务器安装依赖 Windows Update 在线组件,必须联网 2. **手动下载并安装 OpenSSH Server离线安装)** - 从 GitHub 官方仓库下载最新的 OpenSSH-Win64 或 OpenSSH-Win32: - https://github.com/PowerShell/Win32-OpenSSH/releases - 下载后解压到本地路径,例如 `C:\Program Files\OpenSSH` - 以管理员身份运行 PowerShell,进入 OpenSSH 目录并安装服务: ```powershell cd "C:\Program Files\OpenSSH" .\install-sshd.ps1 ``` 3. **设置开机启动** ```powershell Set-Service sshd -StartupType Automatic ``` 4. **启动服务** ```powershell Start-Service sshd ``` --- ### ❌ 问题 3:安装后服务无法启动 #### 常见错误信息: - `Failed to start the sshd service` - `sshd: no hostkeys available -- exiting.` #### 解决方法: 1. **生成主机密钥** - 如果你使用的是离线安装OpenSSH,可能没有自动生成主机密钥 - 在 PowerShell 中运行: ```powershell cd "C:\Program Files\OpenSSH" .\ssh-keygen.exe -A ``` - 这将生成 `ssh_host_*` 系列密钥文件到 `C:\ProgramData\ssh\` 2. **确保服务账户权限** - 默认使用 `NT AUTHORITY\SYSTEM` 账户运行 SSHD - 确保该账户对 `C:\ProgramData\ssh` 有读取权限 --- ### ❌ 问题 4:端口冲突(如 22 端口被占用) #### 解决方法: 1. 查看 22 端口是否被占用: ```powershell Get-NetTCPConnection -LocalPort 22 ``` 2. 如果有进程占用,结束该进程: ```powershell Stop-Process -Id <PID> ``` 3. 或者修改 `sshd_config` 中的端口: ```conf Port 2222 ``` --- ### ✅ 完整安装步骤(推荐方式) #### 使用 PowerShell 安装 OpenSSH 服务器(在线方式) ```powershell # 查看 OpenSSH 服务器是否可用 Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*' # 安装 OpenSSH 服务器 Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 # 安装完成后启动服务 Start-Service sshd # 设置开机启动 Set-Service sshd -StartupType Automatic ``` --- ### ✅ 验证安装是否成功 1. 查看服务状态: ```powershell Get-Service sshd ``` 2. 查看 SSH 是否监听 22 端口: ```powershell netstat -an | findstr :22 ``` 3. 本地测试连接: ```powershell ssh localhost ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值