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

【配置环境】Windows下 VS Code 远程连接虚拟机Ubuntu

  • Windows 11 家庭中文版
  • VMware® Workstation 16 Pro (版本:16.1.2 build-17966106)
  • ubuntu-22.04.2-desktop-amd64

  • Windows下安装OpenSSH
  • VS Code安装Remote - SSH插件

  1. 在Ubuntu上安装SSH服务器。打开终端,并依次运行以下命令来安装OpenSSH服务器,并启动SSH服务器:
    1. sudo apt update
    2. sudo apt install openssh-server
    3. service sshd restart
  2. 打开Windows上的VS Code,并安装“Remote - SSH”扩展。在侧边栏的扩展视图中搜索“Remote - SSH”并安装它。
  3. 在VS Code中打开命令面板。你可以通过按下 Ctrl+Shift+P(或者点击VS Code左下角的“打开远程窗口”按钮)来打开命令面板。
  4. 在命令面板中,输入“Remote-SSH: Connect to Host”,然后选择该选项。
  5. 在弹出的菜单中选择“Configure SSH Hosts”。
  6. 选择“~/.ssh/config”文件或者创建新的配置文件。
  7. 在配置文件中,添加以下内容,替换主机名为Ubuntu的IP地址或主机名,用户名为您在Ubuntu上的用户名:
  8. 返回到命令面板,再次输入“Remote-SSH: Connect to Host”(或者点击VS Code左下角的“打开远程窗口”按钮),然后选择刚才配置的连接。
  9. 输入您的Ubuntu用户密码进行身份验证,但这里遇到了如下错误,说明Windows环境中没有安装OpenSSH客户端。

  10. 以管理员身份运行 PowerShell,使用 PowerShell 安装 OpenSSH。 为了确保 OpenSSH 可用,请运行以下命令:
    1. Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
  11. 如果尚未安装SSH客户端,则上面的操作会输出以下内容:
    1. Name : OpenSSH.Client~~~~0.0.1.0
    2. State : NotPresent
  12. 然后,执行以下命令安装OpenSSH客户端
    1. Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
  13. 启动并配置 OpenSSH 服务器来开启使用,然后依次运行以下命令来启动 sshd
    1. Start-Service sshd
    2. Set-Service -Name sshd -StartupType 'Automatic'
    3. if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) { Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..." New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 } else { Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists." }
  14. 然后再回到步骤8,进行操作。
  15. 连接成功后,VS Code会打开一个新的窗口,显示Ubuntu上的文件系统(可以使用“文件”>“打开文件夹”浏览和打开远程主目录中的文件夹。)。
  16. 然后就可以在VS Code中编写、保存和运行Ubuntu环境中的代码了。
  17. 如果要结束 SSH 连接,可以使用“文件”>“关闭远程连接”返回到在本地运行 VS Code。

1.Windows 安装 OpenSSH

2.通过 SSH 进行远程开发

3.远程开发提示和技巧

1.SSH(Secure Shell)是一种用于远程登录和安全文件传输的网络协议。它提供了一种通过不安全的网络连接(例如,互联网)在客户端和远程服务器之间进行安全的加密通信的方式。以下是SSH的介绍:

  • 安全性:SSH是一个加密协议,可确保通过不安全的网络连接传输的数据的安全性。它使用公钥加密和对称密钥加密来保护通信的机密性,防止数据被窃听和篡改。
  • 远程登录:SSH最常用的用途是远程登录。使用SSH客户端,用户可以通过Internet连接到远程服务器,并在远程服务器上执行命令和访问资源,就好像他们直接在服务器上操作一样。
  • 文件传输:SSH提供了安全的文件传输机制,称为SCP(Secure Copy)或SFTP(SSH File Transfer Protocol)。使用SCP或SFTP,用户可以在本地计算机和远程服务器之间安全地传输文件。
  • 用户身份认证:SSH使用公钥加密来进行身份验证。在建立SSH连接时,客户端和服器之间会进行公钥交换。客户端会生成一对密钥(公钥和私钥),将公钥发送给服务器。服务器将公钥与特定用户关联,并用于验证用户身份。
  • 端口和配置:SSH使用默认的TCP端口22进行通信。但是,可以在需要时更改SSH服务器的端口。此外,SSH服务器的配置文件位于服务器上,并且可以用来定义许多不同的行为和限制。
  • 客户端和服务器:SSH由SSH客户端和SSH服务器组成。客户端用于发起SSH连接并向服务器发送命令和请求。服务器负责接受客户端连接,并提供所需的服务(登录、文件传输等)。
  • 公共网络:由于SSH提供了安全的加密通信,它被广泛用于在不受信任的公共网络上访问远程服务器。通过SSH,用户可以在互联网上安全地使用远程服务器而无需担心敏感数据的安全性。

总之,SSH是一种安全的远程登录和文件传输协议,它提供了加密通信和身份验证机制,使用户能够在不安全的网络上安全地访问和操作远程系统。


2.OpenSSH是一个开源的实现了远程登录和安全文件传输功能的软件套件。它是SSH协议的一个实现,并提供了一系列命令行工具和守护进程,用于在网络上进行安全的远程访问和文件传输。以下是OpenSSH的介绍:

  • 功能:OpenSSH提供了通过加密通信协议的安全远程登录和文件传输功能。它支持SSH协议的各种功能,包括加密、公钥和身份验证、远程命令执行、文件传输(通过SCP和SFTP),以及端口转发和隧道等功能。
  • 安全性:OpenSSH致力于提供安全的通信和数据传输。它使用加密技术保护通信内容,确保数据在传输过程中不被窃听、篡改或伪造。其中包括使用对称密钥算法和公钥加密算法对通信进行加密,并使用各种身份验证方法(例如密码、公钥和证书)确保用户的身份验证。
  • 组件:OpenSSH由几个核心组件组成。其中,OpenSSH客户端(ssh)用于发起SSH连接并与远程主机交互;OpenSSH服务器(sshd)在远程主机上运行,并负责接受SSH连接、进行用户身份验证以及提供远程登录和文件传输服务;还有其他辅助工具如ssh-keygen用于生成和管理密钥对,以及ssh-agent用于管理私钥的代理身份验证。
  • 操作系统支持:OpenSSH可以在多种操作系统上运行,包括各种类Unix系统(如Linux、BSD等)以及Microsoft Windows的版本。可以在这些系统上方便地安装和配置OpenSSH,以实现安全的远程登录和文件传输。
  • 配置文件和自定义:OpenSSH提供了灵活的配置选项,使用户可以根据特定需求进行自定义。通过修改OpenSSH的配置文件(如sshd_config),可以定义安全策略、访问控制规则、端口设置、用户配置等。这使得OpenSSH适应不同的环境和需求。
  • 社区支持和开源:OpenSSH是一款开源软件,它的源代码是公开可用的。这使得用户和开发人员可以自由地查看、修改和分发代码,并贡献改进。OpenSSH拥有强大的社区支持和广泛的用户群体,因此能够在保持安全性的前提下不断改进和更新。

总体而言,OpenSSH是一款功能强大的开源软件套件,它提供了安全远程登录和文件传输的功能,并通过其加密通信协议确保了数据和用户身份的安全性。它被广泛用于管理远程系统、进行系统维护、远程合作、备份和文件传输等各种应用场景。

相关文章:

【配置环境】Windows下 VS Code 远程连接虚拟机Ubuntu

一,环境 Windows 11 家庭中文版VMware Workstation 16 Pro (版本:16.1.2 build-17966106)ubuntu-22.04.2-desktop-amd64 二,关键步骤 Windows下安装OpenSSHVS Code安装Remote - SSH插件 三,详细步骤 在Ubun…...

【设计模式——学习笔记】23种设计模式——组合模式Composite(原理讲解+应用场景介绍+案例介绍+Java代码实现)

案例引入 学校院系展示 编写程序展示一个学校院系结构: 需求是这样,要在一个页面中展示出学校的院系组成,一个学校有多个学院,一个学院有多个系 【传统方式】 将学院看做是学校的子类,系是学院的子类,小的组织继承大…...

vue3+Luckysheet实现表格的在线预览编辑(electron可用)

前言: 整理中 官方资料: 1、github 项目地址https://github.com/oy-paddy/luckysheet-vue-importAndExport/tree/master/https://github.com/oy-paddy/luckysheet-vue-importAndExport/tree/master/ 2、xlsx vue3 json数据导出excel_vue3导出excel_羊…...

前端html中让两个或者多个div在一行显示,用style给div加上css样式

文章目录 前言一、怎么让多个div在一行显示 前言 DIV是层叠样式表中的定位技术,全称DIVision,即为划分。有时可以称其为图层。DIV在编程中又叫做整除,即只得商的整数。 DIV元素是用来为HTML(标准通用标记语言下的一个应用&#x…...

【linux基础(二)】Linux基本指令(中)

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:Linux从入门到开通⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学更多操作系统知识   🔝🔝 Linux基本指令 1. 前言2. 删除…...

ceph集群---使用RBD块存储

文章目录 创建和删除池RBD设备的配置及使用RBD 块设备数据的导出和导入 块存储接口是一种主流的存储访问接口,也是常见的存储形态,比如服务器下的/dev/sdx都是块存储设备。你可以像使用磁盘一样来使用Ceph提供的块存储设备。 在创建块存储设备之前&#…...

2022.09.17【读书笔记】丨生物信息学与功能基因组学(第十三章 蛋白质结构预测 下)

目录 蛋白质结构预测三种方法同源建模(比较建模)穿线法从头预测(ab initio)基于假设推荐策略 精度与方法选择Alphafold2相关信息 蛋白质结构预测 三种方法 同源建模(比较建模) 建模4步骤 1.模板选择和确定折叠构象 通过blast或delta-blast搜索同源蛋白…...

ardupilot获取飞行员目标倾斜角度

目录 文章目录 目录摘要1. 4.0.7获取目标倾斜角度2. 4.3.7获取目标倾斜角度3.仿真摘要 本节主要记录ardupilot获取目标倾斜角度的两种实现方法,主要针对4.0.7和4.3.7进行对比。 1. 4.0.7获取目标倾斜角度 1.姿态模式下获取函数 //获取飞行员期望的倾斜角度get_pilot_desire…...

机器人制作开源方案 | 智能垃圾桶

1. 功能说明 智能垃圾桶是一种利用物联网技术和智能感知能力的智能设备,旨在提高垃圾分类和处理的效率。通常具备以下特点和功能: ① 智能感知:智能垃圾桶配备各种传感器,如压力传感器、红外线传感器等,可以实时感知…...

【手撕】list

系列文章目录 文章目录 系列文章目录前言list_node<T>&#xff08;节点&#xff09;_list_iterator<T, Ref, Ptr>&#xff08;迭代器&#xff09;成员变量构造函数运算符重载 List<T>&#xff08;链表&#xff09;成员变量构造函数析构函数区间构造函数拷贝构…...

QMQTT快速入门

文章目录 QMQTT快速入门环境搭建mosquitto 服务器和客户端配置服务器配置客户端配置模拟MQTT的发布订阅 QMQTT - Windows下的客户端项目代码展示遇到的问题 QMQTT快速入门 环境搭建 准备一台linux设备和一台windows设备虚拟机也是可以的&#xff1b;安装mosquitto &#xff1…...

Dooring-Saas低代码技术详解

hello, 大家好, 我是徐小夕, 今天和大家分享一下基于 H5-Dooring零代码 开发的全新零代码搭建平台 Dooring-Saas 的技术架构和设计实现思路. 背景介绍 3年前我上线了第一版自研零代码引擎 H5-Dooring, 至今已迭代了 300 多个版本, 主要目的是快速且批量化的生产业务/营销过程中…...

Linux chmod

chmod 首先chmod 用于修改文件权限&#xff0c;使用命令 ll 查看文件列表&#xff0c;或者使用stat文件名 可以查看其相应的权限 显示的形式为例如 rwx r- - r-- &#xff0c;即所有者拥有读写执行的权限 &#xff0c;同组人员和其他人都只拥有读的权限 一般修改权限为三部分…...

java商城系统和php商城系统有什么差异?如何选择?

java商城系统和php商城系统是两种常见的电子商务平台&#xff0c;它们都具有一定的优势和劣势。那么&#xff0c;java商城系统和php商城系统又有哪些差异呢&#xff1f; 一、开发难度 Java商城系统和PHP商城系统在开发难度方面存在一定的差异。Java商城系统需要使用Java语言进…...

【HTML】常用实体字符(如 nbsp; 空格)

文章目录 显示结果描述实体名称实体编号空格 <小于号<<>大于号>>&和号&amp;"引号&quot; ’撇号&apos; (IE不支持)&#xffe0;分&#xff08;cent&#xff09;¢¢£镑&#xff08;pound&#xff09;£ £元&…...

华为eNSP通过VMnet8虚拟网卡,NAT转换访问互联网

防火墙上配置&#xff1a; 配置G1/0/1接口IP地址&#xff0c;其实G1/0/1的IP就是终端PC1的网关地址。 配置G1/0/0接口自动获取IP地址&#xff0c;从VMnet8中自动获取地址。 配置安全区域zone,把对应的接口加入到对应的zone中 配置安全策略&#xff0c;放通trust安全区域到u…...

手撕顺序表

> 作者简介&#xff1a;დ旧言~&#xff0c;目前大一&#xff0c;现在学习Java&#xff0c;c&#xff0c;c&#xff0c;Python等 > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 望小伙伴们点赞&#x1f44d;收藏✨加关注哟&#x1f495;&#x1…...

Python实战项目——旅游数据分析(四)

由于有之前的项目&#xff0c;所以今天我们直接开始&#xff0c;不做需求分析&#xff0c;还不会需求分析的可以看我之前的文章。Python实战项目——用户消费行为数据分析&#xff08;三&#xff09; 导入库 import numpy as np import pandas as pd import matplotlib.pyplo…...

前端CryptoJS-AES加解密 对应php的AES-128-CBC加解密踩坑(java也相同加解密)

前端部分注意看填充是pkcs7 有个前提&#xff0c;要看前端有没有转成hex格式&#xff0c;如果没转&#xff0c;php那边就不需要调用特定函数转hex格式的 const keyStr 5hOwdHxpW0GOciqZ;const iv 0102030405060708;//加密function Encrypt(word) {let key CryptoJS.enc.Ut…...

Python解码张三的法外狂徒之旅,揭秘视频背后的真相!【含jS逆向解密】

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 传说中&#xff0c;有人因为只是远远的看了一眼法外狂徒张三就进去了&#x1f602; 我现在是获取他视频&#xff0c;岂不是直接终生了&#x1f929; 网友&#xff1a;赶紧跑路吧 &#x1f60f; 好了话不多说&#xff…...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API&#xff0c;用于在函数组件中使用 state 和其他 React 特性&#xff08;例如生命周期方法、context 等&#xff09;。Hooks 通过简洁的函数接口&#xff0c;解决了状态与 UI 的高度解耦&#xff0c;通过函数式编程范式实现更灵活 Rea…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式&#xff0c;然后找到相应的网卡&#xff08;可以查看自己本机的网络连接&#xff09; windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置&#xff0c;选择刚才配置的桥接模式 静态ip设置&#xff1a; 我用的ubuntu24桌…...

Java毕业设计:WML信息查询与后端信息发布系统开发

JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发&#xff0c;实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构&#xff0c;服务器端使用Java Servlet处理请求&#xff0c;数据库采用MySQL存储信息&#xff0…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill

视觉语言模型&#xff08;Vision-Language Models, VLMs&#xff09;&#xff0c;为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展&#xff0c;机器人仍难以胜任复杂的长时程任务&#xff08;如家具装配&#xff09;&#xff0c;主要受限于人…...

通过MicroSip配置自己的freeswitch服务器进行调试记录

之前用docker安装的freeswitch的&#xff0c;启动是正常的&#xff0c; 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...

echarts使用graphic强行给图增加一个边框(边框根据自己的图形大小设置)- 适用于无法使用dom的样式

pdf-lib https://blog.csdn.net/Shi_haoliu/article/details/148157624?spm1001.2014.3001.5501 为了完成在pdf中导出echarts图&#xff0c;如果边框加在dom上面&#xff0c;pdf-lib导出svg的时候并不会导出边框&#xff0c;所以只能在echarts图上面加边框 grid的边框是在图里…...

表单设计器拖拽对象时添加属性

背景&#xff1a;因为项目需要。自写设计器。遇到的坑在此记录 使用的拖拽组件时vuedraggable。下面放上局部示例截图。 坑1。draggable标签在拖拽时可以获取到被拖拽的对象属性定义 要使用 :clone, 而不是clone。我想应该是因为draggable标签比较特。另外在使用**:clone时要将…...