Windows 上的 OpenSSH:安装、配置和使用指南

Windows 上的 OpenSSH:安装、配置和使用指南

 
Windows 11

对于大多数 Windows 用户来说,远程桌面协议(RDP)凭借其友好的图形界面,一直是远程管理的首选。但对于需要更精细控制的系统管理员而言,SSH 才是更适合的选择。它通过命令行实现与远程设备的交互,让管理工作变得更加高效。

过去,Windows 用户想要使用 SSH,通常需要借助像 PuTTY(开源)或 Xshell(商业)这样的第三方工具。现在,Microsoft 推出了内置于 Windows 的 OpenSSH 客户端和服务器,为我们带来了一种更加便捷的选择。

Windows 中的 OpenSSH 是一个可选功能(FoD),需要手动添加,它并不会随系统自动安装。本文将介绍如何在 Windows 11 或 Windows 10(1809 版本及以上)中安装、配置和使用 OpenSSH 客户端和服务器。

什么是 OpenSSH?

OpenSSH 是一款用于安全远程连接和计算机管理的工具套件,它通过加密技术来保障通信安全,其主要功能包括远程登录、命令执行、文件传输和端口转发等。

OpenSSH 包含客户端和服务器两部分,其中:

  • 客户端:用于连接远程服务器。
  • 服务器:在远程服务器上运行,接受客户端的连接请求。

OpenSSH 最初是为 Linux 系统开发的,现在也支持包括 Windows 和 macOS 在内的多种操作系统。

在 Windows 中安装 OpenSSH 客户端和/或服务器

准备条件

在开始安装 OpenSSH 之前,请确保你的电脑满足以下条件:

  • 操作系统:Windows 11 或 Windows 10(1809 版本或更高)。
  • PowerShell 版本:PowerShell 5.1 或以上。
  • 管理员权限:安装 OpenSSH 需要拥有管理员权限。

方法 1:通过「设置」安装

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

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

3根据需要勾选:

  • OpenSSH 客户端:可以使用 ssh 命令连接到其他支持 SSH 的设备。
  • OpenSSH 服务器:允许其他设备通过 SSH 连接到你的电脑。
Windows 11 设置:可选功能添加 OpenSSH 客户端和服务器

4选择好后点击「下一步」,然后点击「安装」开始安装过程。

方法 2:使用 PowerShell 安装

1使用Windows + R快捷键打开「运行」对话框,输入powershell,然后按Ctrl + Shift + Enter以管理员权限打开 PowerShell 窗口。

2执行以下命令查看 OpenSSH 安装状态:

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

如果返回NotPresent,表示未安装;返回Installed则表示已安装。

3根据需要安装 OpenSSH 客户端和服务器组件:

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

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

在 Windows 中配置 OpenSSH 服务器

当你在 Windows 上安装了 OpenSSH 服务器之后,需要进行一些配置才能接受连接:

1使用Windows + R快捷键打开「运行」对话框,输入powershell,然后按Ctrl + Shift + Enter以管理员权限打开 PowerShell。

2设置 SSHD 服务自动启动:

复制复制复制复制复制复制复制复制复制复制复制
复制
Set-Service -Name sshd -StartupType 'Automatic'

3启动 SSHD 服务:

复制复制复制复制复制复制复制复制复制复制
复制
Start-Service sshd

4检查 SSH 服务器是否在侦听 22 端口:

复制复制复制复制复制复制复制复制复制
复制
netstat -an | findstr /i ":22"

5确保 Windows Defender 防火墙允许 TCP 22 端口的入站连接:

复制复制复制复制复制复制复制复制
复制
Get-NetFirewallRule -Name *OpenSSH-Server* | select Name, DisplayName, Description, Enabled
Windows PowerShell配置 OpenSSH 服务器

如规则丢失或被禁用,可以创建新规则:

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

6(可选)如果要修改配置,如设置用户访问权限,可以编辑sshd_config配置文件:

复制复制复制复制复制复制
复制
Start-Process Notepad C:\Programdata\ssh\sshd_config

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

OpenSSH 服务器配置文件可以在 sshd_config 手册页中找到。

Windows PowerShell编辑 sshd_config 配置文件

8完成更改后,重启 SSHD 服务应用配置:

复制复制复制复制复制
复制

Restart-Service sshd
Windows PowerShell重启 SSHD 服务

按照这些步骤,你的 Windows 就能通过 SSH 协议接受连接了。

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

在 Windows 中安装完 OpenSSH 客户端后,就可以立即与远程 SSH 设备建立连接:

1打开命令提示符或 Powershell,执行以下命令来检查 OpenSSH 客户端是否已经正确安装:

复制复制复制复制
复制
ssh

2使用以下命令连接到配置了 SSH 的服务器:

复制复制复制
复制
ssh [用户名]@[服务器IP]
Windows PowerShell使用 OpenSSH 客户端连接远程服务器

3首次连接时,会要求你输入密码。如果远程设备使用非标准 22 端口,需要指定端口号:

复制复制
复制
ssh 用户名@服务器名称 -p 端口号

Windows 上的 OpenSSH 是一个强大的工具,可用于远程管理设备和服务器。本文提供了详细的安装、配置和使用指南,帮助你充分利用 OpenSSH 的功能。

posted @ 2024-05-13 20:02  商君治国安邦之张莽  阅读(933)  评论(0编辑  收藏  举报