在 Mac/linux 的 VSCode 中使用Remote-SSH远程连接 Windows

最近遇到了一个需求,我的代码仓库放在 Windows 上,想在 Mac 的 VSCode 中直接打开它、编辑、运行、调试。直接连接windows 的ssh 连接ip 地址没法连接成功,后来发现原来是还有些工具需要安装。

Mac 与 Windows 必须处于同一个局域网,否则就需要利用内网穿透等一些方法去配置。

1. 在 Windows 上启用 SSH 服务

打开"可选功能"

在 Windows 上,直接搜索栏输入 "可选功能" 来快速进入。


安装 OpenSSH Server

进入"可选功能"后,首先查看openssh 是否已安装:

如果已安装,则略过这部分。否则执行以下步骤:

  1. 点击 "添加可选功能"

  2. 在搜索框中输入:

    复制代码
    OpenSSH
  3. 勾选以下两项:

    • OpenSSH 客户端
    • OpenSSH 服务端
  4. 点击 安装

等待安装完成。

启动 SSH 服务

  1. 按下 Win + R 打开运行框
  1. 输入:

    复制代码
    services.msc
  2. 在服务列表中找到:

    复制代码
    OpenSSH SSH Server
  1. 双击它,设置:

    • 启动类型:自动
    • 点击 启动

点击确定应用。


获取 Windows IP 地址

打开 PowerShell/cmd,输入:

bash 复制代码
ipconfig

记下本机 IPv4 地址,例如:

复制代码
IPv4 地址 . . . . . . . . . . . . : 192.168.1.10

输入

bash 复制代码
whoami

输出类似:

bash 复制代码
DESKTOP-ABC123\chh

windows 用户名就是\后面的名字,例如这里是chh.

2. 在 Mac /linux上测试 SSH 连接

打开 Mac 的终端,输入以下命令:

bash 复制代码
ssh <Windows用户名>@<Windows的IP地址>

例如:

bash 复制代码
ssh chh@192.168.1.10

第一次连接时,系统会提示你是否信任主机指纹:输入 yes 并按回车,然后输入 Windows 的登录密码。如果成功登录,就说明 SSH 已经配置正确 。如果遇到

bash 复制代码
Permission denied, please try again.

可以检查下是不是用户名不对。


3. 配置 VSCode Remote-SSH

安装插件

在 Mac 上打开 VSCode,安装官方插件:Remote - SSH

添加 SSH 主机配置

在 VSCode 中:

  • 点击左下角绿色图标 ><
  • 选择 "Connect to Host..." → "Add New SSH Host"

保存文件后,VSCode 就能识别该远程主机。


4. 性能优化建议

  1. 关闭 Windows 防火墙的 22 端口限制

    如果遇到连接超时,可在防火墙高级设置中添加"入站规则"允许端口 22。

  2. 建议固定 Windows 的局域网 IP

    避免每次路由器重启后 IP 变化导致连接失败。

相关推荐
NamoAmitabha1283 小时前
libpng12-0 1.2.54-1ubuntu1.1 (amd64 binary) in ubuntu xenial
linux·ubuntu20.4
Madison-No73 小时前
搭建项目测试环境
linux·运维·服务器·python
吴声子夜歌4 小时前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
程序员允诺5 小时前
内网/无网环境必备:VS Code Remote-SSH 离线包下载与手动部署教程
vscode
xiaoye-duck6 小时前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
黑化旺仔6 小时前
【OC】KVO
macos·ios·objective-c·cocoa
zx_741484816 小时前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS7 小时前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
金士顿7 小时前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
做运维的阿瑞8 小时前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python