【小白向超详细】使用 VSCode 远程连接 Linux 服务器详细教程
使用 VSCode 远程连接 Linux 服务器详细教程
前提条件
- 已安装 VSCode。
- 已在 VSCode 中安装 Remote - SSH 插件。
- 目标 Linux 服务器 开启了 SSH 服务,并可以通过 SSH 访问。
- 本地电脑已安装 SSH 客户端(Linux 和 macOS 自带,Windows 用户可以安装 OpenSSH)。
一、安装 Remote - SSH 插件
- 打开 VSCode。
- 点击左侧扩展(Extensions)图标。
- 搜索 Remote - SSH,点击 Install 安装插件。
二、配置 SSH
2.1 检查或创建 SSH 配置文件
SSH 的配置文件路径通常为:
~/.ssh/config
如果文件不存在,可以通过以下命令创建:
touch ~/.ssh/config
配置示例:
编辑配置文件:
nano ~/.ssh/config
添加以下内容:
Host my-linux-serverHostName 192.168.1.100 # 替换为服务器 IP 地址或域名User username # 替换为你的 SSH 用户名Port 22 # SSH 服务的端口,默认是 22IdentityFile ~/.ssh/id_rsa # 指定私钥路径
保存后,测试连接:
ssh my-linux-server
如果可以正常登录,则配置无误。
三、使用 VSCode 连接服务器
3.1 打开 Remote - SSH
- 点击 VSCode 左下角绿色按钮(打开远程开发菜单)。
- 选择 Remote-SSH: Connect to Host…。
3.2 选择服务器
- 在弹出的输入框中,输入你在
~/.ssh/config中配置的 Host,例如my-linux-server。 - 按下回车后,VSCode 会尝试通过 SSH 连接到服务器。
3.3 输入密码或配置免密登录
- 如果没有配置免密登录,会提示输入服务器的 SSH 密码。
- 如果设置了公钥认证(免密登录),直接连接即可。
四、解决远程连接问题
常见错误及解决方法:
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 公钥认证。
-
本地生成公钥和私钥:
ssh-keygen -t rsa -b 4096按提示选择保存路径(默认路径为
~/.ssh/id_rsa)。 -
将公钥上传到服务器:
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" -
测试免密登录:
ssh username@192.168.1.100
六、常用技巧
6.1 打开远程文件夹
连接成功后,可以选择打开服务器上的特定目录。例如 /home/username/project。
6.2 安装远程扩展
- 当你使用远程连接时,扩展默认会安装到服务器上。
- 如果需要某些扩展在服务器运行,可以直接在 VSCode 扩展市场中点击安装。
总结
通过配置 SSH 和使用 Remote - SSH 插件,VSCode 可以方便地连接远程 Linux 服务器,支持文件编辑、代码调试等操作。如果遇到问题,可以根据报错信息一步步排查。
希望本文对你有所帮助!如果有其他问题,欢迎评论交流。 😊
相关文章:
【小白向超详细】使用 VSCode 远程连接 Linux 服务器详细教程
使用 VSCode 远程连接 Linux 服务器详细教程 前提条件 已安装 VSCode。已在 VSCode 中安装 Remote - SSH 插件。目标 Linux 服务器 开启了 SSH 服务,并可以通过 SSH 访问。本地电脑已安装 SSH 客户端(Linux 和 macOS 自带,Windows 用户可以…...
设计心得——解耦的实现技术
一、说明 在前面的“设计心得——解耦”中,对解耦进行了高层次的抽象说明。本篇则对在实践中常用的解耦技术进行逐一分析说明,以期为开发者能更从理论到实践搭建一个桥梁。至于大家能够如何更好的在自己的项目中进行解耦的实践,就需要不断的…...
计算机毕业设计SpringBoot+Vue.jst在线文档管理系统(源码+LW文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
在windows下安装windows+Ubuntu16.04双系统(下)
这篇文章的内容主要来源于这篇文章,为正式安装windowsUbuntu16.04双系统部分。在正式安装前,若还没有进行前期准备工作(1.分区2.制作启动u盘),见《在windows下安装windowsUbuntu16.04双系统(上)》 二、正式安装Ubuntu …...
一文讲解Redis为什么读写性能高以及I/O复用相关知识点
Redis为什么读写性能高呢? Redis 的速度⾮常快,单机的 Redis 就可以⽀撑每秒十几万的并发,性能是 MySQL 的⼏⼗倍。原因主要有⼏点: ①、基于内存的数据存储,Redis 将数据存储在内存当中,使得数据的读写操…...
TPU(Tensor Processing Unit)详解
一、什么是TPU? TPU(Tensor Processing Unit,张量处理器)是谷歌专门为机器学习任务设计的定制化ASIC芯片,旨在加速神经网络训练与推理。其核心目标是针对矩阵运算(如矩阵乘加)优化硬件架构&…...
Ubuntu20.04.2安装Vmware tools
软件版本:Vmware Workstation Pro 17.6.2 操作系统镜像文件:ubuntu-20.04.2-desktop-amd64 方式1:用iso镜像安装 没用这种方法,太麻烦 方式2:用apt安装Open VM Tools 如果你使用的是较新的Ubuntu版本(如…...
检测服务端口是否开放的常用方法
检测服务端口是否开放的常用方法 文章目录 检测服务端口是否开放的常用方法背景使用nc命令使用 telnet 命令使用 curl 命令使用 openssl 命令使用 Python 脚本,socket连接使用 bash 内建命令:使用 nmap:总结 背景 有时候需要测试网络是否连通,端口是否开放…...
muduo源码阅读:socket常见操作及一些补充
TCP连接和释放 一个典型的TCP连接、通信过程: (假设有资源的一端是服务器端) 服务器会启用一个监听循环,不断接受client连接请求(三次握手建立连接), 进行数据通信,通信完成以后断开连接(四次挥手断开连接)。 对于…...
虚拟表格实现全解析
在数据展示越来越复杂的今天,大量数据的渲染就像是“满汉全席”——如果把所有菜肴一次性摆上桌,既浪费资源也让人眼花缭乱。幸运的是,我们有两种选择: 自己动手:通过二次封装 Element Plus 的表格组件,实…...
使用 Grafana 监控 Spring Boot 应用
随着软件开发领域的不断发展,监控和可观测性已成为确保系统可靠性和性能的关键实践。Grafana 是一个功能强大的开源工具,能够为来自各种来源的监控数据提供丰富的可视化功能。在本篇博客中,我们将探讨如何将 Grafana 与 Spring Boot 应用程序…...
使用Socket编写超牛的http服务器和客户端(一)
实现一个高性能的基于 IOCP(I/O Completion Ports)的 HTTP 服务器,支持多线程、动态线程池调整和路由处理。 主要功能和特性 IOCP 模型: 使用多个 IOCP 句柄(IOCP_COUNT),将客户端连接均匀分配到不同的 IOCP 上,减少线程竞争。 工作线程使用 GetQueuedCompletionStatu…...
python turtle模块有哪几种命令
python turtle模块命令的分类: 1、运动命令 2、笔画控制命令 3、其他命令...
【Transformer架构】
目录 一、Transformer介绍 1.1 Transformer的诞生 1.2 什么是Transformer 1.3 Transformer的优势 1.4 Transformer的市场 二、Transformer架构 2.1 Transformer模型的作用 2.2 Transformer总体架构图 2.2.1 Transformer总体架构 2.2.2 输入部分 2.2.3 输出部分 2.2.…...
unity学习50:NavMeshAgent 区域Areas和cost
目录 1 NavMeshAgent 区域和成本的问题 2 区域Areas 2.1 区域和颜色 2.2 区域和成本 2.3 区域成本的作用 2.4 地图测试准备 2.5 如何实现 2.5.1 unity的2022之前的老版本 2.5.2 unity的2022之后的新版本 2.6 如果测试失败,是因为没有bake 2.7 测试前&…...
Blender小技巧和注意事项
1.雕刻模式如果没反应,需要将模式转换成编辑模式 2. 鼠标移到大纲 点击 小键盘的. / 大键盘句号 , 在大纲视图快速找到选中物体 3.打包图像等数据进Blender文件中,可以防止丢失 4.拍摄小物体用长焦镜头 , 焦距120mm左右...
Python常见面试题的详解15
1. 死锁(Deadlock) 死锁指的是在多线程或者多进程的运行环境中,两个或多个线程(进程)彼此等待对方释放所占用的资源,进而陷入无限期等待的僵局,最终导致程序无法继续推进。 必要条件 互斥条件…...
代码审计初探
学会了基础的代码审计后,就该提高一下了,学一下一些框架的php代码审计 先从一些小众的、已知存在漏洞的cms入手 phpems php的一款开源考试系统 源码下载 https://down.chinaz.com/soft/34597.htm 环境部署 windows审计,把相关文件放到phps…...
Spring面试题2
1、compareable和compactor区别 定义与包位置:Comparable是一个接口,位于java.lang包,需要类去实现接口;而Compactor是一个外部比较器,位于java.util包 用法:Comparable只需要实现int compareTo(T o) 方法,比较当前对…...
Linux 权限系统和软件安装(二):深入理解 Linux 权限系统
在 Linux 的世界里,权限系统犹如一位忠诚的卫士,严密守护着系统中的文件与目录,确保只有具备相应权限的用户才能进行操作。与其他一些操作系统不同,Linux 并不依据文件后缀名来标识文件的操作权限,而是构建了一套独特且…...
Sentaurus仿真效率翻倍:详解Physics和Math模块里那些被你忽略的参数(以NPN仿真为例)
Sentaurus仿真效率翻倍:详解Physics和Math模块里那些被你忽略的参数(以NPN仿真为例) 在半导体器件仿真领域,Sentaurus作为行业标杆工具,其强大的功能背后往往隐藏着许多未被充分利用的性能优化参数。许多工程师在完成基…...
Phi-3-mini-4k-instruct-gguf行业落地:法律合同条款简写、医疗报告口语化转述
Phi-3-mini-4k-instruct-gguf行业落地:法律合同条款简写、医疗报告口语化转述 1. 模型简介与应用价值 Phi-3-mini-4k-instruct-gguf是微软推出的轻量级文本生成模型,特别适合处理专业领域的文本改写任务。这个模型虽然体积小,但在法律和医疗…...
保姆级教程:用Python脚本自动转换JD9365A初始化代码为RK3568设备树格式
Python自动化实战:JD9365A初始化代码转RK3568设备树全解析 当面对嵌入式Linux驱动开发时,最令人头疼的莫过于那些冗长而重复的寄存器配置工作。以JD9365A这款MIPI屏幕驱动芯片为例,其初始化代码往往包含上百条寄存器操作命令,手动…...
2025年网盘直链下载终极解决方案:八大网盘全速下载完全指南
2025年网盘直链下载终极解决方案:八大网盘全速下载完全指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 /…...
如何分析Data Guard的网络瓶颈_Bandwidth与Redo传输速率的计算公式
swag 是 Go 最成熟的 OpenAPI 文档生成工具,通过解析源码注释生成 swagger.json;需在项目根目录执行 swag init,handler 函数须带完整注释块且紧贴声明,结构体字段需 json tag,Gin/Echo 需手动注入 Swagger UI 路由。G…...
嵌入式老鸟的避坑指南:从芯片选型到驱动调试,那些教科书不会告诉你的实战经验
嵌入式开发实战避坑指南:从芯片选型到系统调优的深度解析 引子:那些年我们踩过的嵌入式大坑 记得刚入行嵌入式开发时,我接手了一个看似简单的SPI通信项目。按照教科书上的标准流程配置好寄存器后,却发现数据总是错位。熬了三个通宵…...
编程新手必看:coze-loop代码优化器保姆级使用教程
编程新手必看:coze-loop代码优化器保姆级使用教程 1. 认识你的AI编程助手:coze-loop 对于刚开始学习编程的朋友来说,写出高效、易读且无bug的代码往往是个挑战。coze-loop正是为解决这个问题而生的AI代码优化工具,它能像一位经验…...
I2C SPI 画图 工具 程序合集
INA219 电量监控 <!doctype html> <html lang"zh-CN"> <head><meta charset"utf-8" /><meta name"viewport" content"widthdevice-width, initial-scale1" /><title>Battery Pie HTML Only</…...
一键体验GPT-SoVITS:Docker部署+语音合成实战教程
一键体验GPT-SoVITS:Docker部署语音合成实战教程 1. 为什么选择GPT-SoVITS进行语音合成 语音合成技术近年来取得了长足进步,但大多数开源项目要么需要大量训练数据,要么音质不够理想。GPT-SoVITS的出现改变了这一局面,它结合了G…...
前端八股文面经大全:携程前端一面(2026-04-17)·面经深度解析
前言 大家好,我是木斯佳。 相信很多人都感受到了,在AI浪潮的席卷之下,前端领域的门槛在变高,纯粹的“增删改查”岗位正在肉眼可见地减少。曾经热闹非凡的面经分享,如今也沉寂了许多。但我们都知道,市场的…...
