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

 


入职微软之后,这边大多数是使用 Windows 进行开发的,比如我的台式机是 Windows 的,还有一部分服务器是 Windows 的,当然 Linux 是也非常多。

很多情况下我是使用自己的 Mac 笔记本来远程连接我的 Windows 机器来开发的。比如如果我在工位上,我会用我的 Mac 连接两块显示屏,然后一种一块用来远程桌面连接我的 Windows 开发机,这样另外一块屏幕和 Mac 自带的屏幕就用来看文档或者使用 Teams 通讯等等。如果我回家了,我家里也是有两块屏,开上 ***,照样用一块屏使用远程桌面,另外一块屏幕和 Mac 自带屏幕就可以做其他事情了。

这样就解决了一个问题:我的 Windows 基本上都是仅用作开发的,一块屏幕就开着一个 Visual Studio,其他的操作都会在 Mac 进行,比如查文档,发消息等等。这样我下班之后照样使用远程连接的方式来操作,和在公司就是一样的。这样就避免了一些软件的来回登录,比如如果我上班只用公司机器,下班了之后换了 Mac 还得切 Teams、切微信、切浏览器等等,还是很麻烦的,而且上班期间 Mac 就闲置了也不好。所以我就采取了这样的开发方案。

需求分析

有了这个情景,就引入了一个问题。开了一个远程桌面之后,我几乎一个屏幕都是被 Visual Studio 占据的,而远程桌面貌似只能开一个屏幕?如果我要再开一个终端窗口的话,那可能屏幕就不太够用了,或者它就得覆盖我的全屏 Visual Stuido。

另外我平时 Mac 终端软件都是使用 SSH 的,基本都是用来连 Linux 的,Windows 一般都是开远程桌面。但命令行这个情形的确让我头疼,让我感到不够爽,因为毕竟远程桌面之后,Windows 里面的操作都得挤在一个桌面里面操作了。当然可能能设置多个桌面,如果可以的话,麻烦大家告知一下谢谢。

所以解决的痛点在于:我要把一些操作尽量从 Windows 里面分离出来,例如终端软件,我能否在远程桌面外面操作,能否使用 SSH 来控制我的 Windows 机器。

好,有需求才有动力,说干就干。

配置

查了一下,Windows 上其实也是有 SSH 服务器的,只不过默认是没有装的,这里只需要安装一个 OpenSSH 服务器就好了。

Win10 的话,就在设置里面可以安装,从开始菜单打开“设置”,然后选择应用和功能,这里就有一个“管理可选功能”的选项。

应用和功能页面

点击之后便可以看到一个可选功能,选择 OpenSSH 服务器即可,一般情况下是没有安装的。如果没有安装的话它会提示一个安装按钮,这里我已经安装好了,就提示了一个卸载按钮。

管理可选功能页面

OK,有了它,直接点击安装即可完成 OpenSSH 服务器的安装。

当然如果你是想批量部署 Windows 服务器的话,当然是推荐使用 PowerShell 来自动化部署了。

首先需要用管理员身份启动 PowerShell,使用如下命令看一下,要确保 OpenSSH 可用于安装:

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

输出应该是类似的结果:

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

然后使用 PowerShell 安装服务器即可:

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

输出结果类似:

Path          :
Online        : True
RestartNeeded : 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 机器就好了,如图所示:

Termius 连接界面

OK,以后就可以非常轻松地用 SSH 连接我的 Windows 服务器了,爽歪歪,上面的需求也成功解决。

以上便是使用 SSH 来连接 Windows 服务器的方法,如果大家有需求可以试试。


©著作权归作者所有:来自51CTO博客作者mb5fe159f193922的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 最佳实践【二】从 0 开始,用 flask+mongodb 打造分布式服务器监控
  2. 【一】从0开始,用flask+mongo打造分布式服务器监控平台
  3. 内外网文件单向传输服务器搭建 samba+rsync+inotify
  4. RabbitMQ服务器部署
  5. ssh 创建多个秘钥对,连接不同的服务器
  6. 监控流媒体服务器连接监控摄像头的配置方式 - GB28181和ONVIF
  7. Fabric 源码学习:如何实现批量管理远程服务器?
  8. 用 Node.js 写一个多人游戏服务器引擎 [每日前端夜话0x31]
  9. 怎样在服务器上启用 HTTPS [每日前端夜话(0x1A)]

随机推荐

  1. Android实现一键复制粘贴,兼容低版本系统(a
  2. 虎扑体育客户端zen源码学习笔记
  3. Koush Ion onCompleted回调 - 处理Cancel
  4. android studio如何把本地项目上传到git@
  5. android获取网络数据
  6. Android中横竖屏切换时,onConfigurationCh
  7. 使用Android库项目设置ProGuard
  8. android 编译时注解
  9. 我的android-studio在Ubuntu16.04运行了
  10. android中wifi输入的密码保存的路径