SwiftServer
开始使用

连接 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 位置和权限的问题。

更多内容见故障排查 → 连接。

本页内容