跳过正文
  1. 文章/

给 Windows 开启 SSH,开发和测试方便多了

目录

Mac 通过 SSH 连接 Windows,远程执行构建与测试的场景示意

以前提到 SSH,我首先想到的是 Linux 服务器。轮到 Windows,习惯上还是打开远程桌面。

最近开发 MangoDisk 的 Windows 功能,给测试电脑开启 SSH 后,才发现早该这么做。

我的主力电脑是 Mac。代码改完,需要到 Windows 上构建、测试。以前往往得先连远程桌面,找到项目目录,打开终端,粘贴命令。遇到错误,再把日志复制回 Mac,继续排查。

偶尔做一次没什么,连续调试几轮,就会觉得自己一直在两边搬东西。

在 Mac 的终端里,把 Windows 的事情办了
#

Windows 本身就提供 OpenSSH Server。安装并配置好服务、网络和账号后,就可以像连接其他远程电脑一样登录:

1
ssh your-user@192.168.1.100

把用户名和地址换成自己的 Windows 账号、电脑地址即可。经常使用的话,再配好密钥和连接别名,会更省事。

连上以后,命令在 Windows 上执行,输出直接显示在 Mac 的终端里。构建进行到哪里、哪个测试失败,都不用再切过去找窗口。

最舒服的是,调试的思路不用跟着桌面来回切换。 看到错误,就在当前电脑上查看代码;改完,再执行一次远程检查。

同步、构建、取日志,可以连着做
#

我们把常用的 Windows 构建和测试步骤整理成了 PowerShell 脚本。SSH 连接成功后,明确调用 PowerShell 执行这些脚本,就不必每次重新输入工作目录和一长串命令。

代码和测试文件可以通过 SSH 配套的文件传输工具送过去,构建完成后运行检查,结束后再取回日志。同步时排除依赖和构建产物,也省得每次传一堆无关文件。

比如调试 MangoDisk 的资源监控时,我们需要反复部署版本、观察采样记录。以前要到 Windows 上操作,再找到结果文件;现在从 Mac 发起测试,结束后直接读取日志,就能接着分析。

需要再跑一次时,重新执行同一个脚本就行。这种方便在第一次连接时还不明显,连续改了几轮之后,感受就很直接了。

如果平时使用 AI Agent 辅助测试,也可以让它通过这个入口执行检查、收集日志,省去人手动转发命令和结果。

需要看界面时,再打开远程桌面
#

SSH 并没有让我们彻底不用远程桌面。检查窗口、任务栏和实际交互时,还是会打开它。但只是构建、运行测试、查看进程或读取日志,就没必要进入桌面了。

还有一点要注意:从 SSH 启动 GUI 程序,不一定会出现在当前登录的桌面。我们需要测试界面时,会通过交互式计划任务启动应用,或直接在远程桌面里操作。

这次用下来,SSH 给我们省掉的主要是那些零碎、重复的动作。Windows 还是那台 Windows,构建和测试也还是原来的命令,只是从 Mac 上执行它们顺手了很多。

如果你也经常在 Mac 或 Linux 上开发、到 Windows 上验证,可以先把 SSH 开起来,试着远程跑一次平时最常用的构建命令。以后只是想看一眼构建结果,就不用再打开整个远程桌面了。