系统极客一直在努力
专注操作系统及软件使用技能

Windows 上的 OpenSSH:安装、配置和服务器连接指南

Windows

对大多数 Windows 用户来说,远程桌面协议(RDP)凭借直观的图形界面,一直是远程桌面管理的首选方案。但对于追求精细控制的系统管理员而言,SSH 才是更高效的选择——它通过命令行与远程设备安全交互,让运维工作变得更加灵活且轻量。

  • 在过去,Windows 用户想要使用 SSH,通常需要依赖 PuTTY(开源)或 Xshell(商业)等第三方客户端工具。
  • 而现在,微软已经将 OpenSSH 客户端和服务器打包集成到了 Windows 系统中,带来了一种原生、便捷的解决方案。

需要注意的是,Windows 上的 OpenSSH 是一项「可选功能」(FoD),默认不会随系统自动安装,需用户手动启用。

接下来,我们就详细介绍如何在 Windows 11 中安装、配置并使用 OpenSSH 的客户端与服务器组件。

01. 什么是 OpenSSH?

OpenSSH 是一套用于安全远程连接与系统管理的工具集,它通过强大的加密机制,来保障通信过程的安全。其核心功能包括远程登录、命令执行、文件传输以及端口转发等。

Windows 中的 OpenSSH 主要由 2 部分组成:

  • 客户端:用于发起连接,访问远程 SSH 服务器。
  • 服务器:运行在目标设备上,接收并处理来自客户端的连接请求。

OpenSSH 最初由 OpenBSD 项目为类 Unix 系统开发,如今已广泛支持包括 Linux、Windows 和 macOS 在内的多种操作系统。

02. 安装 Windows 上的 OpenSSH 客户端/服务器

2.1 准备条件

在安装 OpenSSH 之前,请确保你的设备满足以下前提条件:

  • 操作系统:Windows 11、Windows 10 1809+ 和 Windows Server 2019+。
  • PowerShell 版本:PowerShell 5.1 或以上。
  • 管理员权限:安装时需要管理员权限。

2.2 通过「设置」安装

1Windows + I快捷键打开「设置」,依次进入「系统」>「可选功能」。

2点击「查看功能」,在搜索框中输入OpenSSH进行搜索。

3根据你的实际需求,勾选以下选项:

  • OpenSSH 客户端:允许你使用ssh命令,连接到远程 SSH 服务器。
  • OpenSSH 服务器:允许其他设备通过 SSH 连接到该电脑。

4选择好之后,点击「添加」,系统将自动走完安装流程。

添加 OpenSSH 客户端/服务器组件
添加 OpenSSH 客户端/服务器组件
查看安装进度
查看安装进度

安装耗时会比较久,需要耐心等待 ☕️。

2.3 使用 PowerShell 安装

1右键点击「开始」菜单,选择「终端管理员」,以管理员权限打开 Windows 终端。

2Ctrl + Shift + 1快捷键,切换到 PowerShell 窗口。

3执行以下命令,查看当前 OpenSSH 组件的安装状态:

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

如果结果中返回NotPresent,表示尚未安装;若为Installed,则说明已经安装。

4根据需要,分别运行以下命令安装对应组件:

# 安装 OpenSSH 客户端
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

# 安装 OpenSSH 服务器
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
通过 PowerShell 安装 OpenSSH 客户端或服务器组件
通过 PowerShell 安装 OpenSSH 客户端或服务器组件

在 Windows 上安装 OpenSSH 客户端/服务器组件

03. 在 Windows 中配置 OpenSSH 服务器

在安装完 OpenSSH 服务器之后,还需要完成一系列配置,才能让它正常接受远程连接:

1右键点击「开始」菜单,选择「终端管理员」,以管理员权限打开 Windows 终端。

2Ctrl + Shift + 1快捷键,切换到 PowerShell 窗口。

3将 SSHD 服务设置为开机自动启动:

Set-Service -Name sshd -StartupType 'Automatic'

4立即启动 SSHD 服务:

Start-Service sshd

5检查 SSH 服务器是否正在监听默认的 22 端口:

netstat -an | findstr /i ":22"

6执行以下命令,查看防火墙规则。确保 Windows Defender 防火墙已经放行TCP 22端口的入站连接

Get-NetFirewallRule -Name *OpenSSH-Server* | select Name, DisplayName, Description, Enabled
配置并启用 OpenSSH 服务器
配置并启用 OpenSSH 服务器

7(可选)如果规则缺失或被禁用,可手动创建一条新规则:

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

8(可选)如果你想自定义用户权限、认证方式等高级设置,可以编辑 OpenSSH 的主配置文件sshd_config

Start-Process Notepad C:\Programdata\ssh\sshd_config

根据需要修改配置文件内容,保存后关闭「记事本」。

OpenSSH 服务器的完整配置选项,请参考官方 sshd_config 手册

自定义 sshd_config 配置文件
自定义 sshd_config 配置文件

9重启 SSHD 服务,让新配置生效:


Restart-Service sshd

完成以上步骤后,你的 Windows 就准备好接受 SSH 远程连接了。

04. 使用 OpenSSH 客户端连接到远程 SSH 服务器

在 Windows 上安装好 OpenSSH 客户端后,就可以立即通过命令行,连接到远程 SSH 服务器:

1右键点击「开始」菜单,选择「终端」,打开「Windows 终端」工具。

2输入以下命令,验证 OpenSSH 客户端是否已经正确安装:

ssh

3使用以下命令,连接到远程 SSH 服务器,可以是 Windows、Linux 和 macOS:

ssh [用户名@]<服务器IP或主机名>
使用 OpenSSH 客户端连接远程服务器
使用 OpenSSH 客户端连接远程服务器

4首次连接时,系统会提示你确认服务器指纹(输入yes)。如果 SSH 服务器使用的是非标准的22端口,可以通过-p参数来显式指定端口号:

ssh [用户名@]<服务器IP或主机名> [-p <端口号>]

即使你通过 SSH 来管理远程 Windows 服务器,使用的还是 Windows 命令和 PowerShell——它并不会因此变成 Linux 😂。


总的来说,Windows 上的 OpenSSH 是一款功能强大的系统组件,能够更高效地管理远程设备和服务器。通过以上安装、配置与使用指南,应该能帮助你轻松上手并充分发挥 OpenSSH 的潜力。

赞(68)
分享到

评论 抢沙发