如何使用 SSH 远程控制一台 Windows 服务器

阅读本文大约需要 3 分钟。

加入微软后,我主要使用 windows 进行开发,我的台式机和部分服务器运行的是 Windows 系统,当然也有很多 linux 系统。

通常,我用我的 Mac 笔记本远程连接到 Windows 开发机进行开发。例如,在办公场所,我会用 Mac 连接两块显示屏,一块用于远程桌面连接到 Windows 开发机,另一块和 Mac 的内置屏幕则用于查看文档或使用 Teams 进行交流。回家后,我也使用两块屏幕,通过 V** 远程连接到 Windows 开发机,这样我可以在另一块屏幕和 Mac 的内置屏幕上进行其他工作。

这种方法解决了一个问题:我的 Windows 开发机几乎只用于开发,屏幕上主要运行 visual studio,而其他操作,如查阅文档、发送消息等,都在 Mac 上进行。这样,即使下班后,我也能够通过远程连接的方式继续工作,避免了在不同设备之间反复登录软件的麻烦,比如 Teams、微信浏览器等。而且,这种方式也避免了 Mac 在工作时间的闲置。

在这种情境下,出现了一个新的需求:当我打开远程桌面后,Visual Studio 几乎占据了整个屏幕,而远程桌面似乎只能打开一个屏幕。如果我需要打开一个终端窗口,屏幕空间就不够用了,或者它会覆盖我的 Visual Studio 全屏。

此外,我在 Mac 上通常使用 ssh 连接到 Linux 服务器,而 Windows 则使用远程桌面进行连接。在这种情况下,命令行操作让我感到不便,因为所有操作都得在同一个 Windows 桌面上进行。当然,如果可以设置多个桌面,这将会非常有帮助,如果知道如何设置,请告诉我。

因此,我希望将一些操作从 Windows 中分离出来,例如终端操作,我能否在远程桌面之外进行操作,并通过 SSH 来控制我的 Windows 机器。

有了需求,就有了动力,让我们开始吧。

在 Windows 上,实际上是有 SSH 服务器的,但默认情况下并未安装。我们需要安装一个 OpenSSH 服务器。

对于 Windows 10,可以在设置中进行安装。从开始菜单打开“设置”,然后选择“应用和功能”,这里有一个“管理可选功能”的选项。

如何使用 SSH 远程控制一台 Windows 服务器应用和功能页面

点击后,你会看到一个可选功能列表,选择 OpenSSH 服务器。如果未安装,会显示一个安装按钮(我已经安装好,所以显示的是卸载按钮)。

如何使用 SSH 远程控制一台 Windows 服务器管理可选功能页面

点击安装按钮,即可完成 OpenSSH 服务器的安装。

如果你需要批量部署 Windows 服务器,建议使用 PowerShell 进行自动化部署。

首先,以管理员身份启动 PowerShell,并使用以下命令检查 OpenSSH 是否可用于安装:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

输出结果应该类似于:

Name  : OpenSSH.Client~~~~0.0.1.0State : NotPresentName  : OpenSSH.Server~~~~0.0.1.0State : NotPresent

然后,使用 PowerShell 安装服务器:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

输出结果类似于:

Path          :Online        : TrueRestartNeeded : False

这样也可以完成 OpenSSH 的安装。

安装完成后,需要进行一些初始化配置,仍然以管理员身份使用 PowerShell 执行。

首先,启动 SSHD 服务:

Start-Service sshd

然后,设置服务自动启动:

Set-Service -Name sshd -StartupType 'Automatic'

最后,确认防火墙是否已开放:

Get-NetFirewallRule -Name *ssh*

如果已开放,结果会显示 OpenSSH-Server-In-TCP 状态为 enabled。

完成上述操作后,我们就可以使用 SSH 连接到 Windows 服务器了。

连接非常简单,用户名和密码就是 Windows 的用户名和密码,使用 IP 地址进行连接。

例如,我的 Windows 开发机的局域网 IP 为:10.172.134.88,那么可以使用以下命令进行连接:

ssh user@10.172.134.88

输入密码后,即可成功连接,和连接 Linux 服务器的方式一样。

此外,我在 Mac 上常用的 SSH 客户端是 Termius,可以在多个终端上同步使用,非常方便。我只需添加我的 Windows 机器即可,如图所示:

如何使用 SSH 远程控制一台 Windows 服务器Termius 连接界面

这样,以后我就可以轻松地通过 SSH 连接到我的 Windows 服务器,非常方便,完美解决了之前的需求。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享