要通过 VSCode 远程连接到 CentOS 7、Ubuntu 18 这种较老的 Linux 系统,可以参考以下详细步骤和注意事项,帮你顺利配置和使用。


目录

  1. 准备条件
  2. 安装 SSH 服务端
  3. 配置 SSH 服务
  4. 配置防火墙和端口转发
  5. VSCode 远程插件安装与使用
  6. 常见问题排查

1️⃣ 准备条件

  • 远程服务器(CentOS7、Ubuntu18 等)已经能正常开机,且能访问网络
  • 你的本地电脑安装了最新版本的 VSCode
  • 有远程服务器的 SSH 登录账号和密码或私钥

2️⃣ 在远程服务器安装 SSH 服务

CentOS7

sudo yum install -y openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd

Ubuntu18

sudo apt update
sudo apt install -y openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh

3️⃣ 配置 SSH 服务

编辑 SSH 配置文件,确保允许密码登录(如果使用密码)或允许公钥认证。

sudo nano /etc/ssh/sshd_config

确认以下配置(根据实际需要修改):

PasswordAuthentication yes      # 如果你用密码登录,设置为 yes
PermitRootLogin no              # 安全起见,建议关闭 root 远程登录
PubkeyAuthentication yes        # 启用公钥认证

保存并重启 SSH 服务:

sudo systemctl restart sshd   # CentOS7
sudo systemctl restart ssh    # Ubuntu18

4️⃣ 配置防火墙和端口转发

确保服务器的 22 端口(或你自定义的 SSH 端口)对外开放。

CentOS7 防火墙配置(firewalld)

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

Ubuntu18 防火墙配置(ufw)

sudo ufw allow ssh
sudo ufw enable

5️⃣ VSCode 远程插件安装与使用

5.1 安装插件

  • 打开 VSCode
  • 进入扩展(Extensions)视图(快捷键 Ctrl+Shift+X)
  • 搜索并安装 Remote – SSH 插件(由 Microsoft 官方发布)

5.2 配置 SSH 连接

  • 打开命令面板(Ctrl+Shift+P)
  • 输入并选择 Remote-SSH: Open SSH Configuration File...
  • 选择你对应的 SSH 配置文件(一般是 ~/.ssh/config
  • 在文件末尾添加服务器配置:
Host myserver
    HostName your.server.ip.or.domain
    User your_ssh_user
    Port 22
    IdentityFile ~/.ssh/id_rsa       # 如果用密钥登录,指定私钥路径
    # 如果使用密码登录,可以不写 IdentityFile

5.3 连接服务器

  • 再次打开命令面板,选择 Remote-SSH: Connect to Host...
  • 选择刚才配置的 myserver
  • 首次连接时会提示是否信任主机,选择信任
  • 输入密码或使用密钥完成登录

VSCode 会自动安装远程服务器端的依赖,并打开远程工作区。


6️⃣ 常见问题及解决方案

问题解决方案
VSCode 连接失败,提示 SSH 连接超时检查服务器 SSH 服务是否启动,网络是否通畅,防火墙是否开放端口
登录时提示权限不足检查远程账户是否有权限,避免用 root 登录或使用 sudo 提权
公钥认证失败确认公钥是否正确添加到服务器 ~/.ssh/authorized_keys 文件中,权限设置正确
VSCode 远程插件无法安装或启动远程服务器需要安装 curl、tar 等基础工具,建议先执行 sudo apt install curl tar -y
连接后无法正常打开文件或权限问题确认文件权限和用户身份,必要时调整文件夹权限

额外建议

  • 升级系统软件包,避免老系统因依赖缺失导致插件安装失败:
sudo apt update && sudo apt upgrade -y        # Ubuntu18
sudo yum update -y                            # CentOS7
  • 使用 SSH 密钥登录,避免密码安全风险。生成密钥:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
ssh-copy-id user@server_ip

如果你需要,我还可以帮你写针对某一系统的自动化脚本配置,或者教你 VSCode 远程开发中更高级的调试和容器配合使用,随时告诉我!