什么是 OpenSSH?
OpenSSH(Open Secure Shell)是一套用于安全远程登录、执行命令和文件传输的开源工具。自 Windows 10 版本 1809 起,Microsoft 官方集成了 OpenSSH 客户端和服务器组件,使 Windows 用户无需第三方软件即可使用 SSH。
在 Windows 中启用 OpenSSH
Windows 10/11 和 Windows Server 2019+ 支持通过“可选功能”安装 OpenSSH:
- 打开设置 → 应用 → 可选功能
- 点击添加功能
- 搜索并安装
OpenSSH 客户端和/或OpenSSH 服务器
也可通过 PowerShell 命令行安装:
# 安装客户端
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
# 安装服务器
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
启动并配置 SSH 服务器
安装完成后,需启动并设置服务自动运行:
# 启动服务
Start-Service sshd
# 设置开机自启
Set-Service -Name sshd -StartupType 'Automatic'
默认配置文件位于 C:\ProgramData\ssh\sshd_config。如需允许密码登录,请确保包含:
PasswordAuthentication yes
注意:建议使用 SSH 密钥认证以提高安全性。Windows 的 OpenSSH 支持 Ed25519 和 RSA 密钥。
生成 SSH 密钥对
在本地终端(如 PowerShell 或 CMD)中运行:
ssh-keygen -t ed25519 -C "your_email@example.com"
公钥将保存在 %USERPROFILE%\.ssh\id_ed25519.pub,可将其内容复制到远程主机的 ~/.ssh/authorized_keys 文件中。
连接远程主机
使用 OpenSSH 客户端连接 Linux 或其他支持 SSH 的设备:
ssh username@remote_host_ip
若使用非默认端口(非22):
ssh -p 2222 username@remote_host_ip
常见问题
- 无法连接? 检查 Windows 防火墙是否放行了 TCP 22 端口。
- 权限错误? Windows 上的
authorized_keys文件需设置正确 ACL(访问控制列表)。 - 中文乱码? 在终端中设置 UTF-8 编码,或使用 Windows Terminal。