Windows OpenSSH Server 使用方法

参考:

Install OpenSSH | Microsoft Docshttps://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse在 PowerShell Core 中检查 OpenSSH.Client 与 OpenSSH.Server 的安装状态:

Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'

 如果未安装,使用

# 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

安装,输出:

Path          :
Online        : True
RestartNeeded : False

执行

# Start the sshd service
Start-Service sshd

# OPTIONAL but recommended:
Set-Service -Name sshd -StartupType 'Automatic'

# Confirm the Firewall rule is configured. It should be created automatically by setup. Run the following to verify
if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) {
    Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..."
    New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
} else {
    Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists."
}

注意:不同于 Linux,我们无需更改 C:\ProgramData\ssh\sshd_config,使用默认端口 22 并防火墙放行即可。 上述命令检查是否已经创建了入站规则,但是可能不会显示在 Windows Defender 防火墙->高级设置->入站规则中,但是你可以在 Windows Defender 防火墙->监视->防火墙中找到这条入站规则。如果上述命令无效,参考 ssh - Windows 10 - OpenSSH Server - Operation timed out - Stack Overflow执行

New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

通过控制面板打开 Windows Defender 防火墙->高级设置->入站规则,会发现名称:OpenSSH SSH Server (sshd)、组:OpenSSH Server、协议:TCP、端口:22 的规则已被创建并启用,或执行

Get-NetFirewallRule -Name *ssh*

输出

Name                          : OpenSSH-Server-In-TCP
DisplayName                   : OpenSSH SSH Server (sshd)
Description                   : Inbound rule for OpenSSH SSH Server (sshd)
DisplayGroup                  : OpenSSH Server
Group                         : OpenSSH Server
Enabled                       : True
Profile                       : Any
Platform                      : {}
Direction                     : Inbound
Action                        : Allow
EdgeTraversalPolicy           : Block
LooseSourceMapping            : False
LocalOnlyMapping              : False
Owner                         :
PrimaryStatus                 : OK
Status                        : 已从存储区成功分析规则。 (65536)
EnforcementStatus             : NotApplicable
PolicyStoreSource             : PersistentStore
PolicyStoreSourceType         : Local
RemoteDynamicKeywordAddresses : {}

Name                          : sshd
DisplayName                   : OpenSSH Server (sshd)
Description                   :
DisplayGroup                  :
Group                         :
Enabled                       : True
Profile                       : Any
Platform                      : {}
Direction                     : Inbound
Action                        : Allow
EdgeTraversalPolicy           : Block
LooseSourceMapping            : False
LocalOnlyMapping              : False
Owner                         :
PrimaryStatus                 : OK
Status                        : 已从存储区成功分析规则。 (65536)
EnforcementStatus             : NotApplicable
PolicyStoreSource             : PersistentStore
PolicyStoreSourceType         : Local
RemoteDynamicKeywordAddresses : {}

运行->services.msc 打开服务,找到名称为 OpenSSH SSH Server 的服务(也有可能是 sshd),检查其是否已启动并且启动类型为自动。设置完成后,使用 ipconfig 命令找到本机的 IP 地址,例如 Wireless LAN adapter WLAN 的 IPv4 Address。在远程服务器中执行

ssh username@servername

其中 servername 即为本机的 IP 地址,username 为你的 Windows 用户名,然后输入的密码是你的 Windows 用户对应的密码。如果第一次连接会提示

The authenticity of host 'servername (10.00.00.001)' can't be established. ECDSA key fingerprint is SHA256:(<a large string>). Are you sure you want to continue connecting (yes/no)?

输入 yes 即可成功连接。如果连接不成功,可以使用

netstat -ant | grep 22

检查端口 22 的状态,并使用

ssh localhost

ping <ip_address>

检查是否是 Windows 的 OpenSSH Server 的问题。

卸载 OpenSSH.Client 和 OpenSSH.Server 的方法是

# Uninstall the OpenSSH Client
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

# Uninstall the OpenSSH Server
Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
<think>好的,用户想在Windows上安装和配置OpenSSH Server,我需要根据提供的引用资料来整理步骤。首先,我需要检查用户提到的不同安装方法,比如通过PowerShell命令添加功能,或者下载安装包手动安装。引用1和引用5提到了两种方法,一个是Add-WindowsCapability,另一个是下载MSI文件。可能用户的操作系统版本不同,所以需要区分。 接下来,配置部分也很重要。引用3和引用4提到了配置环境变量和启动服务,还有使用Cpolar工具进行内网穿透。用户可能需要远程访问,所以这部分也要包括进去。另外,防火墙设置可能也是必须的,确保SSH端口开放。 然后,测试连接和故障排除步骤不能少,比如本地连接测试,使用ssh命令连接自己,检查服务是否运行。如果用户遇到问题,可能需要查看服务状态或者日志。 还要注意不同Windows版本的支持情况,比如Server 2016和Win10可能有不同的步骤,引用2和引用3分别提到了这些系统。需要提醒用户根据自己系统选择合适的安装方式。 最后,生成相关问题时要涵盖安装、配置、优化和远程访问等方面,确保用户能全面了解。同时,引用标注要正确对应到每个步骤的来源,比如引用1对应PowerShell安装,引用5对应MSI安装包等。</think>### 如何在Windows上安装和配置OpenSSH Server #### 一、安装方法 根据Windows版本选择以下两种方式之一: 1. **通过PowerShell安装(推荐Windows 10/11 1809+版本)** ```powershell # 安装OpenSSH服务端组件 Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 ``` 此命令会自动完成核心组件安装[^1]。 2. **手动安装包方式(适用Windows Server 2016等旧版本)** - 访问GitHub官方仓库下载安装包: ``` https://github.com/PowerShell/Win32-OpenSSH/releases ``` - 选择`OpenSSH-Win64-v9.x.x.x.msi`格式的最新安装包[^2][^5] - 双击运行安装程序,默认路径为`C:\Program Files\OpenSSH` #### 二、基础配置 1. **启动SSH服务** ```cmd net start sshd sc config sshd start=auto # 设置开机自启 ``` 2. **防火墙配置** - 开放22端口(默认SSH端口) - 使用PowerShell命令: ```powershell New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 ``` 3. **环境变量配置** - 将安装路径添加到系统PATH: ``` C:\Program Files\OpenSSH ``` 方便直接使用ssh命令[^4] #### 三、远程访问配置(可选) 若需外网访问,建议配合内网穿透工具: 1. 安装Cpolar等工具创建隧道[^3] 2. 配置SSH公网地址绑定 3. 通过`ssh username@公网地址 -p 映射端口`连接 #### 四、验证安装 ```cmd ssh localhost # 本地连接测试 ``` 成功连接后显示SSH服务器信息即表示安装成功
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ayka

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值