首页 > 系统相关 >【小白向超详细】使用 VSCode 远程连接 Linux 服务器详细教程

【小白向超详细】使用 VSCode 远程连接 Linux 服务器详细教程

时间:2025-01-11 13:31:20浏览次数:3  
标签:VSCode ssh 详细 Linux 服务器 config 连接 SSH

使用 VSCode 远程连接 Linux 服务器详细教程

前提条件

  1. 已安装 VSCode
  2. 已在 VSCode 中安装 Remote - SSH 插件。
  3. 目标 Linux 服务器 开启了 SSH 服务,并可以通过 SSH 访问。
  4. 本地电脑已安装 SSH 客户端(Linux 和 macOS 自带,Windows 用户可以安装 OpenSSH)。

一、安装 Remote - SSH 插件

  1. 打开 VSCode
  2. 点击左侧扩展(Extensions)图标。
  3. 搜索 Remote - SSH,点击 Install 安装插件。

二、配置 SSH

2.1 检查或创建 SSH 配置文件

SSH 的配置文件路径通常为:

~/.ssh/config

如果文件不存在,可以通过以下命令创建:

touch ~/.ssh/config
配置示例:

编辑配置文件:

nano ~/.ssh/config

添加以下内容:

Host my-linux-server
    HostName 192.168.1.100        # 替换为服务器 IP 地址或域名
    User username                # 替换为你的 SSH 用户名
    Port 22                      # SSH 服务的端口,默认是 22
    IdentityFile ~/.ssh/id_rsa   # 指定私钥路径

保存后,测试连接:

ssh my-linux-server

如果可以正常登录,则配置无误。


三、使用 VSCode 连接服务器

3.1 打开 Remote - SSH

  1. 点击 VSCode 左下角绿色按钮(打开远程开发菜单)。
  2. 选择 Remote-SSH: Connect to Host…

3.2 选择服务器

  1. 在弹出的输入框中,输入你在 ~/.ssh/config 中配置的 Host,例如 my-linux-server
  2. 按下回车后,VSCode 会尝试通过 SSH 连接到服务器。

3.3 输入密码或配置免密登录

  1. 如果没有配置免密登录,会提示输入服务器的 SSH 密码。
  2. 如果设置了公钥认证(免密登录),直接连接即可。

四、解决远程连接问题

常见错误及解决方法:

1. config 文件路径错误

错误描述: 如果 VSCode 输出窗口中提示类似:

Error: ENOENT: no such file or directory, mkdir '/path/to/.ssh/config'

解决方法:

  • 打开 VSCode 左侧扩展栏,找到已安装的 Remote - SSH 插件。
  • 右键点击插件,选择 Extension Settings
  • Config File 项中,输入正确的 SSH 配置文件路径(例如:~/.ssh/config)。
  • 保存设置后重新尝试连接。
2. 权限问题

错误描述: 权限不足,无法连接 SSH。
解决方法:

  • 确保 ~/.ssh/config 文件权限为 600
    chmod 600 ~/.ssh/config
    
  • 确保私钥文件权限为 600
    chmod 600 ~/.ssh/id_rsa
    
3. 服务器配置问题

错误描述: 无法连接到服务器,报错类似:

Permission denied (publickey)

解决方法:

  • 确保服务器的 SSH 服务已启动:
    sudo systemctl status sshd
    
  • 检查服务器是否正确配置了公钥认证。公钥应该存放在服务器的 ~/.ssh/authorized_keys 文件中。
4. 远程 VSCode 服务未正确安装

错误描述: 首次连接时,VSCode 会尝试在服务器上安装所需的远程服务,可能失败。
解决方法:

  • 确保服务器可以访问互联网。
  • 如果安装失败,可以手动下载 VSCode 的远程服务文件并解压到服务器上的对应目录(提示路径中会包含 ~/.vscode-server)。

五、配置免密登录(可选)

为了避免每次连接时输入密码,可以设置 SSH 公钥认证。

  1. 本地生成公钥和私钥:

    ssh-keygen -t rsa -b 4096
    

    按提示选择保存路径(默认路径为 ~/.ssh/id_rsa)。

  2. 将公钥上传到服务器:

    ssh-copy-id username@192.168.1.100
    

    如果没有安装 ssh-copy-id,可以手动上传公钥:

    cat ~/.ssh/id_rsa.pub | ssh username@192.168.1.100 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
    
  3. 测试免密登录:

    ssh username@192.168.1.100
    

六、常用技巧

6.1 打开远程文件夹

连接成功后,可以选择打开服务器上的特定目录。例如 /home/username/project

6.2 安装远程扩展

  • 当你使用远程连接时,扩展默认会安装到服务器上。
  • 如果需要某些扩展在服务器运行,可以直接在 VSCode 扩展市场中点击安装。

总结

通过配置 SSH 和使用 Remote - SSH 插件,VSCode 可以方便地连接远程 Linux 服务器,支持文件编辑、代码调试等操作。如果遇到问题,可以根据报错信息一步步排查。

希望本文对你有所帮助!如果有其他问题,欢迎评论交流。

标签:VSCode,ssh,详细,Linux,服务器,config,连接,SSH
From: https://blog.csdn.net/qq_17405059/article/details/144956246

相关文章

  • 【初涉Python】Linux的一些简单介绍
        在实际开发的时候,很多的代码都来自于经验、思考和搜索,所以不用觉得自己一定要从零开始创造才是合格的,事实上很多时候,使用已有的东西可以大大提高效率,在编程学习中不用太过苛求自己。Linux    这里介绍一些Linux的内容是因为笔者学习Python的时候是在Linu......
  • Linux(Centos 7.6)命令详解:split
    1.命令作用Linux系统中的一个用于拆分文件的命令。它可以将一个大文件拆分成多个小文件,以便于传输、存储或处理2.命令语法Usage:split[OPTION]...[INPUT[PREFIX]]Usage:split[选项]... [输入文件][输出文件前缀]3.参数详解OPTION:-a,--suffix-length=N,生成分裂......
  • Spring MVC详细介绍
    1.MVC设计模式MVC(Model-View-Controller)是一种常见的软件设计模式,用于将应用程序的逻辑分离成三个独立的组件:模型(Model):模型是应用程序的数据和业务逻辑的表示。它负责处理数据的读取、存储和操作,以及业务规则的处理。模型通常是独立于用户界面的,可以在不同的视图和控制器之......
  • 如何对Linux进行网络性能的峰值测试?
    在Linux中,进行网络性能的峰值测试是一个重要的环节,可以帮助您了解系统在网络高负载下的性能表现。以下是进行网络性能峰值测试的详细步骤:1.确定测试目标和场景明确测试目标:确定您想要测试的网络性能指标,如带宽、吞吐量、延迟、抖动等。设定测试场景:考虑测试环境的实际情况,如......
  • 如何对Linux进行系统性能的峰值测试?
    在Linux中进行系统性能的峰值测试,也称为压力测试或极限测试,是为了确定系统在极端条件下的表现和稳定性。这种测试可以帮助识别系统的瓶颈和故障点。以下是进行系统性能峰值测试的步骤:1.确定测试目标明确你想要测试的性能指标,如CPU、内存、磁盘I/O、网络带宽等。2.选择压力测......
  • Hive4.0.1集群安装部署(Hadoop版本为3.3.6)(详细教程)
    前置环境​​​Linux环境Zookeeper集群安装(详细教程)-CSDN博客HadoopHA高可用集群3.3.6搭建(详细教程)-CSDN博客MySQL8.0.40离线安装(详细教程)_mysql8.0.40ftp-CSDN博客Hadoop3.3.6官网下载链接地址部署规划服务器节点MetaStoreHiveServer2bigdata01√bigd......
  • 《Linux设备驱动开发详解(第3版)》 第17章 Linux设备驱动开发综合实例
    17.1开发板硬件介绍假设我们使用的是一款基于ARM架构的开发板,板上集成了多种设备,如串口、GPIO、SPI、I2C等接口,以及网卡、USB控制器、PCI插槽等设备。不同的开发板硬件特性会有所不同,这里以通用的硬件配置为例进行说明。17.2字符设备驱动开发实例字符设备是一种以字节......
  • 《Linux设备驱动开发详解(第3版)》 第18章 Linux驱动移植
    18.1驱动移植概述驱动移植是指将为某个特定硬件平台或内核版本编写的设备驱动程序,经过修改和适配,使其能够在另一个硬件平台或内核版本上正常运行。这一过程需要深入了解目标平台的硬件特性、内核架构以及驱动接口的差异。驱动移植通常涉及到硬件相关代码的调整、内核接口......
  • 《Linux设备驱动开发详解(第3版)》 第9章 Linux内核定时器与工作队列
    9.1内核定时器内核定时器用于在指定的延迟时间后执行特定的函数。它在内核中常用于实现周期性任务或延迟执行的任务。#include<linux/module.h>#include<linux/kernel.h>#include<linux/timer.h>//定义一个内核定时器structtimer_listmy_timer;//定时器到......
  • Linux IPC:管道与FIFO汇总整理
    管道(Pipes)和先进先出(FIFOs,也称为命名管道)都是Linux中用于进程间通信(IPC)的机制。它们允许数据从一个进程流向另一个进程,类似于命令行中的管道操作符|。下面详细介绍这两种机制以及如何使用它们。管道(Pipes)管道是一种特殊的文件,它允许数据从一个进程(通常称为生产者)流向另......