Win配置:SSH
accttodo 12/31/2025 运维Windows
目录
参考:
# Win配置:SSH
# 概要说明
# 常用命令
1
# 环境依赖
软件/系统 | 版本 | 架构 | 包名 | 安装方式 | 备注 |
---|---|---|---|---|---|
Windows | 11 | x86_64 |
# SSH配置
# 检查 OpenSSH
以管理员身份打开 PowerShell 并运行以下命令安装:
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
1
# 安装 OpenSSH
如果任何 SSH 客户端或服务器功能不可用,以管理员身份打开 PowerShell并运行以下命令安装:
- 安装 OpenSSH 客户端
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~ 0.0.1.0
1
- 安装 OpenSSH 服务器
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
1
# 启动 SSH 服务
- 启动 OpenSSH 服务
Start-Service sshd
1
- 设置 SSH 服务在启动时自动启动
Set-Service -Name sshd -StartupType 'Automatic'
1
# 配置防火墙允许 SSH 流量
默认情况下,Windows 防火墙可能会阻止 SSH 流量。可以通过以下命令允许 SSH 流量:
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Protocol TCP -Action Allow -LocalPort 22
1
# 配置 SSH 服务器
- 编辑
sshd_config
文件
SSH 配置文件通常位于 C:\ProgramData\ssh\sshd_config
。您可以使用文本编辑器打开并编辑该文件。
例如,使用 PowerShell 编辑器(例如 notepad
)打开文件:
notepad C:\ProgramData\ssh\sshd_config
1
在该文件中,您可以配置 SSH 服务的各种选项,如禁用密码登录、配置公钥认证等。
- 重新启动 SSH 服务
如果您对配置文件进行了更改,需要重新启动 SSH 服务来应用更改:
Restart-Service sshd
1
# 使用 SSH 客户端连接到远程主机
Windows 11 自带的 OpenSSH 客户端可以用于通过 SSH 连接到远程服务器。在 PowerShell 中使用以下命令连接到远程主机:
ssh username@hostname
1
替换 username
和 hostname
为您要连接的远程主机的用户名和 IP 地址或主机名。
# 配置 SSH 密钥认证(可选)
如果您希望通过 SSH 密钥进行认证而不是密码,可以生成 SSH 密钥对并将公钥添加到远程服务器的 ~/.ssh/authorized_keys
文件中。
- 生成 SSH 密钥对
在 PowerShell 中运行以下命令:
ssh-keygen
1
然后按照提示生成密钥对。默认情况下,密钥将保存在 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"
1