在 Windows 11 上,PowerShell 提供了对 SSH 的支持,可以方便地安装、配置和管理 SSH 服务。Windows 11 自带了 OpenSSH 客户端和服务端,下面是如何启用和配置它们的步骤。

在 Windows 11 上,PowerShell 提供了对 SSH 的支持,可以方便地安装、配置和管理 SSH 服务。Windows 11 自带了 OpenSSH 客户端和服务端,下面是如何启用和配置它们的步骤。

1. 检查 SSH 是否已安装

Windows 11 系统默认已包含 OpenSSH 客户端和服务器,但在某些情况下,它们可能没有启用。可以通过以下方式检查是否已安装。

打开 PowerShell 并输入以下命令:

powershellCopy Code
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

如果显示的结果中包含 OpenSSH.ClientOpenSSH.Server,则表示系统已安装这些功能。

2. 安装 OpenSSH 客户端和服务器

如果 OpenSSH 组件没有安装,您可以通过 PowerShell 安装它们。

安装 OpenSSH 客户端

powershellCopy Code
Add-WindowsCapability -Online -Name OpenSSH.Client

安装 OpenSSH 服务器

powershellCopy Code
Add-WindowsCapability -Online -Name OpenSSH.Server

3. 启用并启动 SSH 服务

安装完成后,您需要启动 SSH 服务并配置为自动启动。

启动 OpenSSH 服务

powershellCopy Code
Start-Service sshd

设置 SSH 服务在启动时自动启动

powershellCopy Code
Set-Service -Name sshd -StartupType 'Automatic'

4. 配置防火墙允许 SSH 流量

默认情况下,Windows 防火墙可能会阻止 SSH 流量。可以通过以下命令允许 SSH 流量:

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

5. 配置 SSH 服务器

编辑 sshd_config 文件

SSH 配置文件通常位于 C:\ProgramData\ssh\sshd_config。您可以使用文本编辑器打开并编辑该文件。

例如,使用 PowerShell 编辑器(例如 notepad)打开文件:

powershellCopy Code
notepad C:\ProgramData\ssh\sshd_config

在该文件中,您可以配置 SSH 服务的各种选项,如禁用密码登录、配置公钥认证等。

重新启动 SSH 服务

如果您对配置文件进行了更改,需要重新启动 SSH 服务来应用更改:

powershellCopy Code
Restart-Service sshd

6. 使用 SSH 客户端连接到远程主机

Windows 11 自带的 OpenSSH 客户端可以用于通过 SSH 连接到远程服务器。在 PowerShell 中使用以下命令连接到远程主机:

powershellCopy Code
ssh username@hostname

替换 usernamehostname 为您要连接的远程主机的用户名和 IP 地址或主机名。

7. 配置 SSH 密钥认证(可选)

如果您希望通过 SSH 密钥进行认证而不是密码,可以生成 SSH 密钥对并将公钥添加到远程服务器的 ~/.ssh/authorized_keys 文件中。

生成 SSH 密钥对

在 PowerShell 中运行以下命令:

powershellCopy Code
ssh-keygen

然后按照提示生成密钥对。默认情况下,密钥将保存在 C:\Users\<YourUserName>\.ssh\id_rsa

将公钥添加到远程服务器

将公钥文件内容复制到远程主机的 ~/.ssh/authorized_keys 文件中:

powershellCopy Code
type $env:USERPROFILE\.ssh\id_rsa.pub | ssh username@hostname "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

这样您就可以通过密钥认证连接到远程主机。


通过以上步骤,您就可以在 Windows 11 上成功启用并配置 SSH 服务。

 

posted @ 2025-01-29 01:37  suv789  阅读(4311)  评论(0)    收藏  举报