在 Windows 上使用 Visual Studio Code (VS Code) 远程连接到 Ubuntu 24.04 进行开发,目前已经是非常成熟且高效的工作流。

以下是为您整理的详细教程,分为 环境准备VS Code 配置免密登录(进阶) 三个部分。


第一步:在 Ubuntu 24.04 上配置 SSH 服务

首先,你需要确保你的 Ubuntu 机器可以被远程访问。

  1. 安装 SSH 服务器:
    打开 Ubuntu 终端,执行以下命令:

    sudo apt update
    sudo apt install openssh-server -y
    
  2. 确认 SSH 服务运行状态:

    sudo systemctl status ssh
    

    如果显示 active (running),说明已成功启动。

  3. 开放防火墙(如果启用了 ufw):

    sudo ufw allow ssh
    
  4. 获取 Ubuntu 的 IP 地址:

    ip addr | grep inet
    

    记录下类似 192.168.x.x 的 IP 地址,后面连接时需要使用。


第二步:在 Windows VS Code 中配置远程开发

  1. 安装 VS Code: 确保你已安装最新版 Visual Studio Code
  2. 安装插件:
    • 在 VS Code 左侧侧边栏点击 Extensions(扩展,图标像四个方块)。
    • 搜索并安装 "Remote - SSH"(由 Microsoft 发布)。安装该插件会自动安装 "Remote Development" 扩展包。
  3. 开始连接:
    • 按下 F1 键(或 Ctrl+Shift+P)打开命令面板。
    • 输入并选择 Remote-SSH: Connect to Host...
    • 选择 Add New SSH Host...
    • 输入连接命令:ssh username@your_ubuntu_ip(例如 ssh sam@192.168.1.100)。
    • 选择存放 SSH 配置文件的路径(通常选择第一个:C:\Users\你的用户名\.ssh\config)。
  4. 建立连接:
    • 右下角会弹出提示,点击 Connect
    • VS Code 会打开一个新窗口,询问远程服务器的系统类型,选择 Linux
    • 按提示输入你的 Ubuntu 用户密码。
    • 连接成功: 左下角状态栏会显示 SSH: 192.168.x.x,此时你可以点击 "Open Folder" 来打开远程 Ubuntu 上的代码文件夹了。

第三步:进阶——设置 SSH 免密登录(推荐)

每次连接都输入密码非常繁琐。通过配置 SSH 密钥,可以实现一键秒连。

  1. 在 Windows 上生成密钥:
    打开 Windows 的 PowerShellCMD,运行:

    ssh-keygen -t ed25519
    

    一路回车即可(如果不想设置密钥密码的话)。这会在 C:\Users\用户名\.ssh\ 下生成 id_ed25519.pub(公钥)和 id_ed25519(私钥)。

  2. 将公钥复制到 Ubuntu:
    在 Windows PowerShell 中运行以下命令(替换 usernameip):

    cat $env:USERPROFILE\.ssh\id_ed25519.pub | ssh username@your_ubuntu_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
    

    系统会提示你最后一次输入密码。

  3. 享受免密连接:
    现在再通过 VS Code 连接时,就不再需要输入密码了。


常见问题与技巧 (Ubuntu 24.04 特别注意)

  • VS Code Server 安装失败:
    Ubuntu 24.04 默认使用较新的库,通常 VS Code 兼容性良好。如果连接时一直卡在 "Setting up SSH Host",请检查 Ubuntu 是否能正常连接互联网,因为 VS Code 需要在 Ubuntu 上自动下载一个小型的 vscode-server 程序。

  • SSH Config 管理:
    如果你有多个远程服务器,可以直接编辑 C:\Users\用户名\.ssh\config 文件:

    Host my_ubuntu
        HostName 192.168.1.100
        User sam
        IdentityFile ~/.ssh/id_ed25519
    

    配置好后,在 VS Code 的远程资源管理器中直接点击 my_ubuntu 即可。

  • 插件安装位置:
    在远程开发模式下,你需要重新在“远程端”安装需要的插件(如 Python, C++, Go 等)。VS Code 的扩展面板会明确区分 "Local - Installed" 和 "SSH: your_ip - Installed"。

总结

配置好后,你的 VS Code 窗口虽然运行在 Windows 上,但其终端、文件系统和编译器全都是 Ubuntu 24.04 的环境,这对于 Linux 开发或深度学习环境搭建非常方便。