【配置环境】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是一款功能强大的开源软件套件,它提供了安全远程登录和文件传输的功能,并通过其加密通信协议确保了数据和用户身份的安全性。它被广泛用于管理远程系统、进行系统维护、远程合作、备份和文件传输等各种应用场景。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/11339.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React 前端应用中快速实践 OpenTelemetry 云原生可观测性(SigNoz/K8S)

OpenTelemetry 可用于跟踪 React 应用程序的性能问题和错误。您可以跟踪从前端 web 应用程序到下游服务的用户请求。OpenTelemetry 是云原生计算基金会(CNCF)下的一个开源项目,旨在标准化遥测数据的生成和收集。已成为下一代可观测平台的事实标准。 React(也称为 Re…

Kotlin 内联函数语法之let、apply、also、run、with的用法与详解

一、介绍 kotlin的语法千奇百怪,今天我们将介绍项目中频率使用比较高的几个内联函数。 二、什么叫内联函数? 内联函数 的语义很简单:把函数体复制粘贴到函数调用处 。使用起来也毫无困难,用 inline关键字修饰函数即可。 语法&a…

详解zookeeper安装使用

目录 1.概述 1.1.功能 1.2.特点 1.3.数据结构 2.安装 2.1.Windows 2.2.Linux 3.基础操作 3.1.增 3.2.删 3.3.改 3.4.查 3.5.监听 4.JAVA操作Zookeeper 4.1.依赖 4.2.客户端 4.3.增 4.4.删 4.5.查 4.6.改 1.概述 1.1.功能 zookeeper,Apache旗下…

pdf转换word软件哪个好?式?这款软件帮你轻松实现转换

在工作中,我们常常遇到这样的情况:我们的文件可能是PDF格式的,但对方要求我们以Word形式发送,因为Word相对于PDF占用更小的内存,打开更方便,发送时间更短。这时我们需要将PDF转换为Word格式,然而…

【跨代码仓库合并方案】

1、背景: 1、wiser绑定的uiidA的定制修改内容和ELKO绑定的uiidB基本是一样的,需要手动粘贴同步,增加测试保障风险,还会浪费开发资源投入; 2、施耐德wiser和elko面板两套面板基本一致,但是经过new art升级后…

机器学习深度学习——感知机

👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习&&深度学习——softmax回归的简洁实现 📚订阅专栏:机器学习&&深度学习 希望文章对你们…

市面上的ipad国产触控笔怎么样?精选的性价比电容笔

要知道,真正的苹果品牌的那款原装电容笔,光是一支电容笔就价格近千元。实际上,平替电容笔对没有太多预算的用户是个不错的选择。一支苹果品牌的电容笔,价格是平替品牌的四倍,但电容笔的书写效果,却丝毫不逊…

科技云报道:是时候全员FinOps了吗?

科技云报道原创。 在论坛上,国外某企业的真实案例引发了热议。一开始该企业只顾技术创新,积极上云,不顾成本。 直到有一天,高层介入喊停:“这个云不能再上了,成本已经远大于收益了”。该企业因为成本失控…

java-day01

一:基础常识 软件:按照特定顺序的计算机数据与指令的集合。可分为系统软件(如操作系统)和应用软件(如QQ) 人机交互方式:图形化界面(GUI)与命令行(CLI&#…

性能优化 - 前端性能监控和性能指标计算方式

性能优化 - 前端性能监控和性能指标计算方式 前言一. 性能指标介绍1.1 单一指标介绍1.2 指标计算① Redirect(重定向耗时)② AppCache(应用程序缓存的DNS解析)③ DNS(DNS解析耗时)④ TCP(TCP连接耗时)⑤ TTFB(请求响应耗时)⑥ Trans(内容传输耗时)⑦ DOM(DOM解析耗时) 1.3 FP(f…

代码随想录算法训练营第二天| 977

977. 有序数组的平方y 思路,原数组是有序的,但是因为负数平方后可能变无序了,因此利用双指针遍历原数组,比较 nums[left]*nums[left]和nums[right]*nums[right]谁更大,然后对新数组赋值 class Solution {public int…

MFC第二十四天 使用GDI对象画笔和画刷来开发控件(分页控件选择态的算法分析、使用CToolTipCtrl开发动静态提示)

文章目录 GDI对象画笔和画刷来开发控件梯形边框的按钮控件CMainDlg.hCMainDlg.cppCLadderCtrl.hCLadderCtrl.cpp 矩形边框的三态按钮控件 CToolTipCtrl开发动静态提示CMainDlg.hCMainDlg.cppCLadderCtrl.hCLadderCtrl.cpp: 实现文件 矩形边框的三态按钮控件 CToolTipCtrl开发动…

欢乐暑假,华为儿童手表5系列为孩子位置安全保驾护航!

暑假带娃,就像爸妈的练兵场。幸好有 5 系列,离线定位、位置提醒、行为记录等安全守护功能面面俱到、样样精通,陪伴孩子度过悠长假期,也让爸妈长辈更安心更省力~ 暑期到了,小朋友们都想出去玩,但…

修改密码和再次确认密码的js和element-ui的使用

<template><div><!-- plan的插槽 --><plan title"修改密码"><!-- 插槽的名字 --><span slot"header">修改密码</span><el-form:model"ruleForm2"status-icon:rules"rules2"ref"rul…

【数据结构】实验七:字符串

实验七 字符串实验报告 一、实验目的与要求 1&#xff09;巩固对串的理解&#xff1b; 2&#xff09;掌握串的基本操作实现&#xff1b; 3&#xff09;掌握 BF 和 KMP 算法思想。 二、实验内容 1. 给定一个字符串ababcabcdabcde和一个子串abcd,查找字串是否在主串中出现。…

【数据结构】实验一:绪论

实验一 绪论 一、实验目的与要求 1&#xff09;熟悉C/C语言&#xff08;或其他编程语言&#xff09;的集成开发环境&#xff1b; 2&#xff09;通过本实验加深对算法时间复杂度的理解&#xff1b; 3&#xff09;结合具体的问题分析算法时间复杂度。 二、实验内容 设计程…

深入学习 redis - Stream、Geospatial、HyperLogLog、Bitmap、Bitfields 类型扩展

目录 前言 Stream geospatial HyperLogLog Bitmaps Bitfields 前言 redis 中最关键的五个数据类型 String、List、Hash、Set、Zset 应用最广泛&#xff0c;同时 redis 也推出了额外的 5 个数据类型&#xff0c;他们分别是针对特殊场景才进行的应用的. Ps&#xff1a;这几种…

odoo16-domain

odoo16-domain 参考:https://blog.csdn.net/u013250491/article/details/86699928 domain的使用注意以下几点: 是在py文件中使用还是在xml中使用,py文件是在后端使用可以利用orm, 而xml是在前端渲染,使用的是js,没有办法使用orm如果在xml中使用,domain的格式建议为[[]], 二维…

Paragon NTFS2023最新版Mac读写NTFS磁盘工具

Paragon NTFS for Mac是Mac平台上一款非常优秀的读写工具&#xff0c;可以在Mac OS X中完全读写、修改、访问NTFS硬盘、U盘等外接设备的文件。这款软件最大的亮点简书可以让我们读写 NTFS 分区&#xff0c;因为在Mac OS X 系统上&#xff0c;默认状态下我们只能读取NTFS 分区&a…

速成版-带您一天学完python自动化测试(selenium)

Selenium是一套web网站的程序自动化操作解决方案。我们通过编写自动化程序&#xff0c;使得自动完成浏览器界面的相关操作&#xff0c;除了能够自动化的完成相关操作&#xff0c;还能从web页面获取相关信息&#xff0c;然后通过程序进行分析处理&#xff0c;本质上就是提升从网…