当前位置: 首页 > news >正文

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 被广泛用于远程登录、执行命令、文件传输等操作,是现代网络安全的重要组成部分。

主要功能

  1. 远程登录

    • SSH 允许用户安全地远程登录到另一台计算机,并在该计算机上执行命令,就像在本地计算机上一样操作。
  2. 安全文件传输

    • 通过 SCP(Secure Copy Protocol)或 SFTP(Secure File Transfer Protocol),SSH 支持安全的文件传输。用户可以安全地从本地计算机向远程计算机传输文件,或从远程计算机下载文件。
  3. 端口转发

    • SSH 支持端口转发功能,允许用户将本地计算机的端口转发到远程计算机的端口,从而实现安全的网络访问。这在访问受限网络服务时特别有用。
  4. 隧道加密

    • SSH 可以通过创建加密隧道来保护通过不安全网络传输的数据,这对于保护敏感信息非常重要。
  5. 身份验证

    • SSH 支持多种身份验证方式,包括基于密码和基于密钥的身份验证。基于密钥的身份验证提供了更高的安全性,因为它避免了密码在网络中传输的风险。

工作原理

  1. 建立连接

    • 客户端和服务器通过 SSH 协议进行握手,建立加密连接。服务器将自己的公钥发送给客户端,客户端使用该公钥加密随机生成的会话密钥,并将其发送给服务器。
  2. 身份验证

    • 客户端通过输入密码或提供密钥进行身份验证。如果身份验证成功,客户端和服务器之间的通信就会使用加密的会话密钥进行保护。
  3. 数据传输

    • 一旦建立了安全的连接,所有的通信数据都会经过加密,确保数据的保密性和完整性。

常见的 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 服务器。以下是具体的步骤:

  1. 更新软件包列表

    打开终端并运行以下命令,以确保你的软件包列表是最新的:

    sudo apt update
    
  2. 安装 OpenSSH 服务器

    运行以下命令安装 OpenSSH 服务器:

    sudo apt install openssh-server
    

    这个命令会安装 OpenSSH 服务器及其相关依赖,使你能够通过 SSH 协议访问你的 Ubuntu 系统。

  3. 检查 SSH 服务状态

    安装完成后,你可以检查 SSH 服务是否正在运行:

    sudo systemctl status ssh
    

    你应该会看到服务状态信息,如果服务正在运行,状态应该显示为“active (running)”。

  4. 启动或重启 SSH 服务(如果需要):

    如果 SSH 服务没有自动启动,或者你对 SSH 配置进行了更改,需要重新启动服务,可以使用以下命令:

    sudo systemctl start ssh
    sudo systemctl enable ssh
    
    • sudo systemctl start ssh:启动 SSH 服务。
    • sudo systemctl enable ssh:设置 SSH 服务在系统启动时自动启动。
  5. 检查防火墙设置(如果有防火墙):

    如果你启用了防火墙(例如 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)提出了“计算将来可能成为一种公共设施”的想法。这个概念类似于现代的云计算&#xf…...

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) 是已知的)&#xff0…...

基于服务器使用 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的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异&#xff…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”

2025年#高考 将在近日拉开帷幕&#xff0c;#AI 监考一度冲上热搜。当AI深度融入高考&#xff0c;#时间同步 不再是辅助功能&#xff0c;而是决定AI监考系统成败的“生命线”。 AI亮相2025高考&#xff0c;40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕&#xff0c;江西、…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...