在 Windows 11 上,PowerShell 提供了对 SSH 的支持,可以方便地安装、配置和管理 SSH 服务。Windows 11 自带了 OpenSSH 客户端和服务端,下面是如何启用和配置它们的步骤。
在 Windows 11 上,PowerShell 提供了对 SSH 的支持,可以方便地安装、配置和管理 SSH 服务。Windows 11 自带了 OpenSSH 客户端和服务端,下面是如何启用和配置它们的步骤。
1. 检查 SSH 是否已安装
Windows 11 系统默认已包含 OpenSSH 客户端和服务器,但在某些情况下,它们可能没有启用。可以通过以下方式检查是否已安装。
打开 PowerShell 并输入以下命令:
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
如果显示的结果中包含 OpenSSH.Client
和 OpenSSH.Server
,则表示系统已安装这些功能。
2. 安装 OpenSSH 客户端和服务器
如果 OpenSSH 组件没有安装,您可以通过 PowerShell 安装它们。
安装 OpenSSH 客户端
Add-WindowsCapability -Online -Name OpenSSH.Client
安装 OpenSSH 服务器
Add-WindowsCapability -Online -Name OpenSSH.Server
3. 启用并启动 SSH 服务
安装完成后,您需要启动 SSH 服务并配置为自动启动。
启动 OpenSSH 服务
Start-Service sshd
设置 SSH 服务在启动时自动启动
Set-Service -Name sshd -StartupType 'Automatic'
4. 配置防火墙允许 SSH 流量
默认情况下,Windows 防火墙可能会阻止 SSH 流量。可以通过以下命令允许 SSH 流量:
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
)打开文件:
notepad C:\ProgramData\ssh\sshd_config
在该文件中,您可以配置 SSH 服务的各种选项,如禁用密码登录、配置公钥认证等。
重新启动 SSH 服务
如果您对配置文件进行了更改,需要重新启动 SSH 服务来应用更改:
Restart-Service sshd
6. 使用 SSH 客户端连接到远程主机
Windows 11 自带的 OpenSSH 客户端可以用于通过 SSH 连接到远程服务器。在 PowerShell 中使用以下命令连接到远程主机:
ssh username@hostname
替换 username
和 hostname
为您要连接的远程主机的用户名和 IP 地址或主机名。
7. 配置 SSH 密钥认证(可选)
如果您希望通过 SSH 密钥进行认证而不是密码,可以生成 SSH 密钥对并将公钥添加到远程服务器的 ~/.ssh/authorized_keys
文件中。
生成 SSH 密钥对
在 PowerShell 中运行以下命令:
ssh-keygen
然后按照提示生成密钥对。默认情况下,密钥将保存在 C:\Users\<YourUserName>\.ssh\id_rsa
。
将公钥添加到远程服务器
将公钥文件内容复制到远程主机的 ~/.ssh/authorized_keys
文件中:
type $env:USERPROFILE\.ssh\id_rsa.pub | ssh username@hostname "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
这样您就可以通过密钥认证连接到远程主机。
通过以上步骤,您就可以在 Windows 11 上成功启用并配置 SSH 服务。