一、为什么选择VS Code远程开发?

在日常开发中,我们经常需要在远程服务器上进行代码编写和调试。传统的开发方式需要频繁切换终端和编辑器,效率低下。而VS Code的远程开发功能可以让你直接在本地编辑器中操作远程服务器,实现无缝开发体验。

想象一下:你可以在本地使用熟悉的VS Code界面,享受代码补全、语法高亮、调试等功能,同时所有的文件操作和代码运行都在远程服务器上进行。这不仅提高了开发效率,还能充分利用服务器的强大性能。

二、环境准备

2.1 确认本地环境

  • 确保已安装最新版VS Code(版本1.80+)
  • 本地已安装Git(提供ssh命令)
  • 服务器已开启SSH服务(默认端口22)

2.2 服务器信息收集

在开始配置之前,你需要从服务器管理员处获取以下信息:

  • 服务器IP地址(如:135.181.85.241)
  • 登录用户名(如:shengjongtongxue)
  • 服务器SSH端口(默认22,若修改需另行配置)

三、生成SSH密钥对

3.1 检查已有密钥

打开VS Code终端(快捷键:Ctrl + `),执行以下命令检查是否已有SSH密钥:

# Linux/macOS系统
ls ~/.ssh/id_rsa.pub

# Windows系统(PowerShell)
dir $env:USERPROFILE\.ssh\id_rsa.pub

若命令返回文件路径,则表示已有SSH密钥对,可跳过生成步骤;若提示"文件不存在",则继续下一步生成新密钥。

3.2 生成新密钥对

在终端中执行以下命令生成RSA密钥对:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

参数说明:

  • -t rsa:指定密钥类型为RSA
  • -b 4096:指定密钥长度为4096位(安全性更高)
  • -C "your_email@example.com":添加注释(建议使用你的邮箱地址)

执行命令后,系统会提示你选择密钥保存位置和设置密码:

Enter file in which to save the key (C:\Users\your_username/.ssh/id_rsa): 

直接回车使用默认路径即可。接着会提示设置密码:

Enter passphrase (empty for no passphrase):

建议设置一个强密码(若为空则无需密码),设置后需再次确认密码。

3.3 查看生成的密钥

生成成功后,你可以通过以下命令查看公钥内容:

# Linux/macOS系统
cat ~/.ssh/id_rsa.pub

# Windows系统(PowerShell)
type $env:USERPROFILE\.ssh\id_rsa.pub

公钥内容以"ssh-rsa "开头,以你的邮箱地址结尾。接下来需要将这个公钥复制到远程服务器上。

四、配置服务器公钥认证

4.1 复制公钥内容

在上一步中,我们已经获取了公钥内容。现在需要将其复制到剪贴板,以便添加到服务器。

4.2 登录服务器

使用MobaXterm或其他SSH客户端登录到远程服务器。

4.3 创建/编辑authorized_keys文件

在服务器上执行以下命令:

# 创建.ssh目录(如果不存在)
mkdir -p ~/.ssh

# 编辑authorized_keys文件
nano ~/.ssh/authorized_keys

在打开的编辑器中,按下Ctrl+V粘贴之前复制的公钥内容,然后按下Ctrl+O保存,Ctrl+X退出。

4.4 设置正确的文件权限

为了确保SSH安全,需要设置正确的文件权限:

chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

五、VS Code配置远程连接

5.1 安装Remote - SSH扩展

打开VS Code,点击左侧扩展图标(或按Ctrl+Shift+X),搜索"Remote - SSH"并安装:

安装完成后,点击"Reload"重新加载VS Code。

5.2 配置SSH连接

点击VS Code左下角的绿色图标,选择"Remote-SSH: Open Configuration File…":

选择配置文件位置(Windows默认位于%USERPROFILE%.ssh\config,Linux/macOS位于~/.ssh/config)。

在打开的配置文件中添加以下内容:

Host server135  # 自定义服务器别名,方便记忆和使用
  HostName 135.181.85.241  # 服务器IP地址
  User limuyang537  # 登录用户名
  IdentityFile ~/.ssh/id_rsa  # 私钥文件路径(Windows用户需改为C:/Users/用户名/.ssh/id_rsa)
  Port 22  # SSH端口(默认22,若服务器修改过端口需相应调整)

保存配置文件后,VS Code会自动验证配置的有效性。

5.3 连接到远程服务器

点击左下角绿色图标,选择"Remote-SSH: Connect to Host…“,然后选择刚配置的"server135”:

首次连接时,VS Code会提示确认服务器指纹,输入"yes"继续:

The authenticity of host '135.181.85.241 (135.181.85.241)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

连接成功后,VS Code会在新窗口中打开远程服务器的文件系统,状态栏会显示当前连接的服务器别名:

六、常见问题及解决方案

6.1 私钥权限问题(Windows)

在Windows系统上,可能会遇到私钥权限太开放的问题,导致SSH连接失败。此时需要执行以下命令修改权限:

icacls.exe "$env:USERPROFILE\.ssh\id_rsa" /inheritance:r
icacls.exe "$env:USERPROFILE\.ssh\id_rsa" /grant:r "$env:USERNAME":"(R)"

6.2 配置文件语法错误

SSH配置文件对格式要求严格,任何语法错误都可能导致连接失败。常见错误包括:

  • 缩进不正确(建议使用空格而非Tab)
  • 引号使用不当
  • 参数拼写错误

检查配置文件确保格式正确。

6.3 连接超时

如果遇到连接超时问题,可能是以下原因导致:

  • 服务器IP地址或端口错误
  • 服务器SSH服务未启动
  • 防火墙阻止了SSH连接(默认端口22)

解决方案:

  • 确认服务器IP和端口信息
  • 在服务器上执行systemctl status sshd检查SSH服务状态
  • 检查服务器防火墙设置,开放SSH端口:
# Ubuntu/Debian系统
sudo ufw allow 22

# CentOS/RHEL系统
sudo firewall-cmd --permanent --add-port=22/tcp
sudo firewall-cmd --reload

七、进阶使用技巧

7.1 图形界面文件传输

连接成功后,左侧资源管理器会显示远程服务器的文件系统,你可以直接拖拽文件进行上传和下载:

7.2 自定义工作区设置

在远程服务器上创建.vscode/settings.json文件,可以为项目自定义VS Code设置:

{
  "editor.tabSize": 2,
  "editor.formatOnSave": true,
  "python.pythonPath": "/usr/bin/python3"
}

7.3 远程代码调试

配置launch.json文件,可直接调试远程服务器上的代码。例如,调试Python程序:

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Python: Remote Debug",
      "type": "python",
      "request": "launch",
      "program": "${file}",
      "pythonPath": "/usr/bin/python3"
    }
  ]
}

八、总结

通过VS Code的远程开发功能,我们可以高效地在本地编辑器中操作远程服务器,大大提升了开发体验。本文详细介绍了SSH密钥对生成、服务器配置和VS Code连接的全过程,并提供了常见问题的解决方案和进阶使用技巧。

现在,你已经掌握了VS Code远程开发的核心技能,可以更加专注于代码编写,而不必担心环境配置的烦恼。Happy Coding!

Logo

一站式 AI 云服务平台

更多推荐