VSCode远程连接Ubuntu/Linux
文章目录
- 前言
- SSH(Secure Shell)简介
- 主要功能
- 工作原理
- 常见的 SSH 客户端和服务器
- Ubuntu安装ssh
- vscode远程插件
- 安装远程插件
- 开始远程连接
- 打开文件夹
- 新建终端
- 总结
前言
在现代开发环境中,远程工作和跨平台开发变得越来越普遍。Visual Studio Code(VSCode)作为一个流行的代码编辑器,提供了强大的远程开发功能,使得开发者能够高效地连接和管理远程 Linux 服务器上的项目。通过 VSCode 的远程开发扩展,开发者可以在本地编辑代码,同时在远程 Ubuntu/Linux 服务器上执行和调试,享受本地开发的便捷和远程系统的强大计算资源。本文将介绍如何配置 VSCode 以远程连接到 Ubuntu/Linux 服务器,并展示如何利用这一功能提升开发效率。
SSH(Secure Shell)简介
SSH(Secure Shell)是一种网络协议,用于在不安全的网络上安全地访问远程计算机。它提供了一个加密的通信通道,确保数据在传输过程中的保密性和完整性。SSH 被广泛用于远程登录、执行命令、文件传输等操作,是现代网络安全的重要组成部分。
主要功能
-
远程登录:
- SSH 允许用户安全地远程登录到另一台计算机,并在该计算机上执行命令,就像在本地计算机上一样操作。
-
安全文件传输:
- 通过 SCP(Secure Copy Protocol)或 SFTP(Secure File Transfer Protocol),SSH 支持安全的文件传输。用户可以安全地从本地计算机向远程计算机传输文件,或从远程计算机下载文件。
-
端口转发:
- SSH 支持端口转发功能,允许用户将本地计算机的端口转发到远程计算机的端口,从而实现安全的网络访问。这在访问受限网络服务时特别有用。
-
隧道加密:
- SSH 可以通过创建加密隧道来保护通过不安全网络传输的数据,这对于保护敏感信息非常重要。
-
身份验证:
- SSH 支持多种身份验证方式,包括基于密码和基于密钥的身份验证。基于密钥的身份验证提供了更高的安全性,因为它避免了密码在网络中传输的风险。
工作原理
-
建立连接:
- 客户端和服务器通过 SSH 协议进行握手,建立加密连接。服务器将自己的公钥发送给客户端,客户端使用该公钥加密随机生成的会话密钥,并将其发送给服务器。
-
身份验证:
- 客户端通过输入密码或提供密钥进行身份验证。如果身份验证成功,客户端和服务器之间的通信就会使用加密的会话密钥进行保护。
-
数据传输:
- 一旦建立了安全的连接,所有的通信数据都会经过加密,确保数据的保密性和完整性。
常见的 SSH 客户端和服务器
-
SSH 客户端:
- OpenSSH:开源的 SSH 实现,支持多种操作系统,包括 Linux、macOS 和 Windows。
- PuTTY:Windows 平台上的流行 SSH 客户端,提供图形用户界面和命令行界面。
-
SSH 服务器:
- OpenSSH Server:广泛使用的开源 SSH 服务器,通常预装在 Linux 和 macOS 系统中。
- Dropbear:轻量级的 SSH 服务器,适用于资源受限的环境,如嵌入式系统。
Ubuntu安装ssh
在 Ubuntu 上安装 SSH 服务,可以使用 apt 包管理器来完成。通常,安装 SSH 服务涉及到安装 OpenSSH 服务器。以下是具体的步骤:
-
更新软件包列表:
打开终端并运行以下命令,以确保你的软件包列表是最新的:
sudo apt update -
安装 OpenSSH 服务器:
运行以下命令安装 OpenSSH 服务器:
sudo apt install openssh-server这个命令会安装 OpenSSH 服务器及其相关依赖,使你能够通过 SSH 协议访问你的 Ubuntu 系统。
-
检查 SSH 服务状态:
安装完成后,你可以检查 SSH 服务是否正在运行:
sudo systemctl status ssh你应该会看到服务状态信息,如果服务正在运行,状态应该显示为“active (running)”。
-
启动或重启 SSH 服务(如果需要):
如果 SSH 服务没有自动启动,或者你对 SSH 配置进行了更改,需要重新启动服务,可以使用以下命令:
sudo systemctl start ssh sudo systemctl enable sshsudo systemctl start ssh:启动 SSH 服务。sudo systemctl enable ssh:设置 SSH 服务在系统启动时自动启动。
-
检查防火墙设置(如果有防火墙):
如果你启用了防火墙(例如
ufw),你需要允许 SSH 流量通过:sudo ufw allow ssh或者,允许端口 22(默认的 SSH 端口):
sudo ufw allow 22最后,检查防火墙状态,确保规则已生效:
sudo ufw status
完成这些步骤后,你的 Ubuntu 系统应该能够接受 SSH 连接。你可以从另一台计算机使用 SSH 客户端连接到你的 Ubuntu 系统,例如:
ssh username@hostname_or_ip_address
这里 username 是你的 Ubuntu 用户名,hostname_or_ip_address 是 Ubuntu 系统的主机名或 IP 地址。
vscode远程插件
安装远程插件
在插件栏搜索remote下载第二个Remote - SSH

下载完之后我们可以看到这个:

这样就是ok了
开始远程连接
在开始连接之前你需要先确定你的ubuntu是否开启ssh
点击远程图标:

选择连接到主机

选择添加新的ssh主机

输入主机信息

它的规范为:主机名@ip地址:ssh端口号,主机名可以在ubuntu终端看到xxx@yyy其中@前面的为主机名也就是xxx,ip地址在终端输入ifconfig即可看到。端口号默认为22

回车,然后选择第一个:

点击连接

在新的窗口里面输入你的密码:

这样就是ok了:

打开文件夹
按照下面的步骤即可打开文件夹,然后你需要去选择你要打开文件夹的目录:

在打开之后,它会叫你输入你的密码,你就输入

然后你就可以开始使用了

新建终端
点击这里可以新建终端供你使用

总结
通过配置 VSCode 的远程开发扩展,开发者可以无缝地连接到 Ubuntu/Linux 服务器,实现本地开发环境与远程服务器的集成。这种设置不仅提高了开发效率,还优化了资源的利用,使得开发者能够在强大的远程服务器上进行高性能计算,而无需在本地机器上进行繁重的编译和执行任务。借助 VSCode 的强大功能和灵活的配置,开发者可以轻松管理跨平台项目,提升团队协作能力,并保持高效的工作流。通过本文的指导,你可以迅速设置和优化你的远程开发环境,享受现代开发工具带来的便捷和高效。
相关文章:
VSCode远程连接Ubuntu/Linux
文章目录 前言SSH(Secure Shell)简介主要功能工作原理常见的 SSH 客户端和服务器 Ubuntu安装sshvscode远程插件安装远程插件开始远程连接 打开文件夹新建终端 总结 前言 在现代开发环境中,远程工作和跨平台开发变得越来越普遍。Visual Studi…...
【Nginx80端口被占用】80端口被System占用如何解决【已解决】
【Nginx80端口被占用】80端口被System占用如何解决【已解决】 01 问题背景 Nginx 版本 1.19及以上80端口被System占用,无法kill tcp6 0 0 :::111 :::* LISTEN 1/systemd tcp6 0 0 :::80 :::* LISTEN 1/systemd 执行以下代码无效&…...
云计算的发展历程与边缘计算
云计算的发展历程 初期发展(1960s-1990s) 概念萌芽:云计算的概念可以追溯到1960年代,当时约翰麦卡锡(John McCarthy)提出了“计算将来可能成为一种公共设施”的想法。这个概念类似于现代的云计算…...
199.二叉树的右视图(DFS)
给定一个二叉树的根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4] 输出: [1,3,4] 示例 2: 输入: [1,null,3] 输出: [1,3] 示例 3: 输入: [] 输出: [] 解题…...
机器学习基础入门(1)
最近也在努力的想要学习些机器学习的知识,目前正在了解各个概念及术语,下面就把学习到的概念都列出来。 人工智能 (AI) Artificial intelligence 人工智能生成内容(AIGC) 机器学习(ML) Machine Learning …...
mybatis的xml中,where标签不自动删除多余的and之类的问题
遇到了这个莫名其妙的问题,起初是很疑惑的,where标签好像失灵了一般不会自动删除掉 多余的and 看了眼sql语句,发现还是有and没被删除。 后来重新写了遍后发现又没事了。真的是神人。 然后就研究了好一会,发现!&#…...
RK3588 编译opencvopencv_contrib记录
RK3588 编译opencv&opencv_contrib记录 1. 下载文件1.1 opencv源码1.2 安装cmake 2.开始编译2.1 提示缺少boostdesc_bgm.i 等问题2.2 提示缺少某hpp头文件2.3 其它问题 3. 设置环境变量4. 测试5.参考 1. 下载文件 1.1 opencv源码 需要opencv和opencv-contrib的版本号保持…...
Eureka: 微服务架构中的服务发现与注册实践
Eureka介绍与使用教程 你好,我是悦创。 Eureka 是 Netflix 开发的一款服务发现(Service Discovery)工具,它主要用于云中基于微服务架构的应用程序。Eureka使服务实例能够动态地注册自己,而其他服务实例可以通过 Eure…...
8、添加第三方包
目录 1、安装Django Debug Toolbar Django的一个优势就是有丰富的第三方包生态系统。这些由社区开发的包,可以用来快速扩展应用程序的功能集 1、安装Django Debug Toolbar Django Debug Toolbar位于名列前三的第三方包之一 这是一个用于调试Debug Web应用程序的有…...
【算法】算法模板
算法模板 文章目录 算法模板简介数组字符串列表数学树图动态规划 简介 博主在LeetCode网站中学习算法的过程中使用到并总结的算法模板,在算法方面算是刚过初学者阶段,竞赛分数仅2000。 为了节省读者的宝贵时间,部分基础的算法与模板未列出。…...
特征工程方法总结
方法有以下这些 首先看数据有没有重复值、缺失值情况 离散:独热 连续变量:离散化(也成为分箱) 作用:1.消除异常值影响 2.引入非线性因素,提升模型表现能力 3.缺点是会损失一些信息 怎么分:…...
Unity | AssetBundle
1 定义 Unity中的一种特殊资源包格式,用于存储和分发游戏资源。这些资源可以包括模型、纹理、音频文件、预制体、场景等。 AssetBundle允许开发者在游戏运行时动态加载和卸载资源,从而实现灵活的资源管理。 2 使用场景 1、资源管理 有效管理游戏中的资…...
【虚幻引擎】C++网络通信TCP和HTTP实战开发全流程,以接入科大讯飞星火大模型和文心一言千帆大模型为案例讲解
本套课程介绍了使用我们的虚幻C去写开发我们的插件开发,如何使用我们的虚幻C 封装我们的TCP和HTTP,如何使用的我们虚幻C子系统,如何根据第三方文档去写接口请求,如何通过我们的加密算法去签名我们的URL,如何声明我们的…...
.NET单元测试使用AutoFixture按需填充的方法总结
AutoFixture是一个.NET库,旨在简化单元测试中的数据设置过程。通过自动生成测试数据,它帮助开发者减少测试代码的编写量,使得单元测试更加简洁、易读和易维护。AutoFixture可以用于任何.NET测试框架,如xUnit、NUnit或MSTest。 默…...
求职学习day5
安排明天hr面 投一下平安可能。 hr面准备,复习java核心技术,复习java项目。 正视自己,调整心态。 也是很早接触了javaguide但是没有持续学习,项目介绍 | JavaGuide,面试前复习一下感觉还是很有收获的。 还有一些…...
微服务常用的中间件有哪些?都有什么用途?
前言 最近整理一下我们的项目使用了哪些中间件,借此机会也来分享一下,在微服务架构中我们常用的那些中间件,都有什么作用,为什么要使用中间件。 消息中间件-RocketMQ 比如RocketMQ,RocketMQ 是一个开源的分布式消息…...
华为云认证
华为云认证 首页 云原生 DevOps工作级开发者认证:HCCDP – Cloud Native DevOps 对云上敏捷开发感兴趣的人员,培训DevOps的理论知识及在云端交付软件全生命周期的实操能力。 DevOps...
【Linux学习】常用基本指令
🔥个人主页: Forcible Bug Maker 🔥专栏:Linux学习 目录 🌈前言🔥XShell的一些使用查看Linux主机IP使用XShell登录主机XShell下的复制粘贴 🔥Linux下常用基本指令ls指令pwd指令cd指定touch指令…...
windows上安装Apache
安装前须知: 下载并安装,如未完成,请访问下载页面。安装Apache前需要安装Visual C Redistributable for Visual Studio 2015-2022 x64。 解压与配置: 将Apache24文件夹解压至C:\Apache24(这是配置中的ServerRoot&am…...
wps office 2019 Pro Plus 集成序列号Vba安装版教程
前言 wps office 2019专业增强版含无云版是一款非常方便的办公软件,我们在日常的工作中总会碰到需要使用WPS的时候,它能为我们提供更好的文档编写帮助我们更好的去阅读PDF等多种格式的文档,使用起来非常的快捷方便。使用某银行专业增强版制作…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...
