连接 Windows
在 Windows 上安装 OpenSSH 服务器功能、启动 sshd,并把这台机器添加到 SwiftServer。
Windows 10、Windows 11 和 Windows Server 都自带 Microsoft 的 OpenSSH 服务器(OpenSSH Server),它是一项可选功能。只要它运行起来, SwiftServer 连接 Windows 就和连接其他机器一样, 监控同样可用。
安装 OpenSSH 服务器
用「设置」App:打开设置 → 系统 → 可选功能 → 添加可选功能, 搜索 OpenSSH 服务器并安装。
或者用 PowerShell(以管理员身份运行):
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0启动服务
在同一个管理员 PowerShell 窗口里:
Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'安装这项功能时会自动创建并启用一条针对入站 22 端口的防火墙规则
(OpenSSH-Server-In-TCP)。如果你用的是第三方防火墙软件,请自行确认这条规则。
Microsoft 的参考文档: 适用于 Windows 的 OpenSSH 服务器入门。
在 SwiftServer 里添加这台机器
添加一台机器,填这台 PC 的地址和一个 Windows 账户:
- 用户名:本地账户名;Microsoft 账户通常填邮箱形式(
[email protected])。 - 密码:账户的密码。没有设置密码的账户无法通过 SSH 登录。
Windows 上 SSH 的默认 shell 是 cmd.exe。默认 shell 是 cmd、Windows PowerShell
或 pwsh 时,SwiftServer 的监控和终端都能正常工作。
管理员账户的密钥登录
对 Administrators 组的成员,Windows 读取密钥的位置是
C:\ProgramData\ssh\administrators_authorized_keys,而不是通常的
~/.ssh/authorized_keys。请创建这个文件、写入你的公钥,并限制它的权限:
icacls.exe "C:\ProgramData\ssh\administrators_authorized_keys" /inheritance:r /grant "Administrators:F" /grant "SYSTEM:F"非管理员账户照常使用 C:\Users\<name>\.ssh\authorized_keys。
连接失败时
- 连接被拒绝:
sshd没有在运行(Start-Service sshd), 或者那条防火墙规则被禁用了。 - 密码被拒绝:试试
MicrosoftAccount\[email protected]这种用户名形式, 或者改用本地账户。 - 管理员账户的密钥被拒绝:几乎总是上面说的
administrators_authorized_keys位置和权限的问题。
更多内容见故障排查 → 连接。