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

SSH密钥认证登陆流程(Vscode连接到远程)

目录

    • 前言
    • 连接远程步骤
      • 1. 下载工具包wsCli到本地机器
      • 2. 本地机器上生成ssh密钥
      • 3. 在服务器上安装公钥
      • 4. vscode连接到远程
    • 参考资料

前言

SSH(Secure Shell)是一种用于远程登录和安全传输数据的网络协议。它提供了两种主要的远程连接方式:

  1. 密码认证:使用用户名和密码进行身份验证。在这种方式下,用户需要提供正确的用户名和密码才能成功连接到远程主机。这是最常见的认证方式,但安全性较低,因为密码可能会被猜测或通过网络截获。

  2. 公钥认证:使用公钥和私钥进行身份验证。在这种方式下,用户需要生成一对密钥,包括公钥和私钥。用户将公钥上传到远程主机上,而私钥保留在本地。当用户尝试连接到远程主机时,远程主机会使用存储的公钥进行验证。如果公钥验证成功,用户将被授权访问。公钥认证提供了更高的安全性,因为私钥通常比密码更难以猜测。

这两种方式可以根据用户的需求和安全要求进行选择。公钥认证通常被认为是更安全和推荐的方式,特别是在需要远程访问的生产环境中。

连接远程步骤

在这里插入图片描述

1. 下载工具包wsCli到本地机器

下载工具包到本地机器,解压后,把相应的wsCli程序放在系统目录下(比如windows是C:\Windows下,linux/macOS放在/usr/local/bin下)。

也可以放在任意目录下,但是需要将这目录添加到环境变量中(WIN+R输入:control userpasswords回车,点击更改我的环境变量):
在这里插入图片描述
添加环境变量,在用户变量->Path中添加,到wsCli文件的上一级目录:
在这里插入图片描述

2. 本地机器上生成ssh密钥

在命令行执行ssh-keygen来创建密钥对,默认情况下,会生成一个私钥(id_rsa)和一个公钥(id_rsa.pub)。私钥通常不建议随意发送给他人,因为它包含敏感信息。
在这里插入图片描述
在这里插入图片描述

3. 在服务器上安装公钥

拷贝id_rsa.pub中的公钥,并添加到authorized_keys中:

mkdir -p ~/.ssh
# {YOUR_PUB_KEY}是拷贝的公钥,以ssh-rsa开头
echo "{YOUR_PUB_KEY}" >> ~/.ssh/authorized_keys

如此便完成了公钥的安装。 此外,为了确保连接成功,输入如下指令以保证以下文件权限正确:

chmod 600 authorized_keys 
chmod 700 ~/.ssh

在终端详情页拷贝ssh命令,即可在本地terminal连接到远程(如果连接不上可以重启一下电脑试试)。

4. vscode连接到远程

在vscode上进行远程连接,需要在服务器上安装与本地相同版本的vscode

1.在本地vscode中安装插件Remote-SSH
在这里插入图片描述
2.本地下载vscode安装包
在vscode的帮助->关于中找到commitID
在这里插入图片描述
复制下面这个链接下载安装包:

# ${COMMIT_ID}换成自己的commitID
https://update.code.visualstudio.com/commit:${COMMIT_ID}/server-linux-x64/stable

然后得到下面这个压缩包:
在这里插入图片描述
3.在服务器上传vscode
在服务器中创建.vscode-server/bin文件夹,并把压缩包上传:

mkdir -p ~/.vscode-server/bin
cd ~/.vscode-server/bin
# 上传压缩包并解压,放到以commitID命名的文件夹下
# ${COMMIT_ID}替换成自己的commitID
tar -zxf vscode-server-linux-x64.tar.gz
mv vscode-server-linux-x64/* ${COMMIT_ID}

最后${COMMIT_ID}文件夹下为以下文件,删除其他没用的文件。在这里插入图片描述
4.将ssh命令粘贴到连接命令中
在这里插入图片描述
得到一个config文件,如果windows系统,需要将wscli修改成本地绝对路径:
在这里插入图片描述
然后点击+号连接到远程。

参考资料

解决 Windows 端 VS Code “无法与 “…“ 建立连接:XHR failed.” 问题

相关文章:

SSH密钥认证登陆流程(Vscode连接到远程)

目录 前言连接远程步骤1. 下载工具包wsCli到本地机器2. 本地机器上生成ssh密钥3. 在服务器上安装公钥4. vscode连接到远程 参考资料 前言 SSH(Secure Shell)是一种用于远程登录和安全传输数据的网络协议。它提供了两种主要的远程连接方式: 密…...

k8s进阶之路-pod探针:容器内的监控机制,检测应用是否存活

配合Pod重启策略: RestartPolicy 应用程序是否启动完成: 3.startupProbe启动探针1.16:排他性 如果三个都配置了,会优先启动,会禁用前两个反馈成功后,才会启动以下两个 应用启动成功后: 1.L…...

2.1.1 摄像头

摄像头 更多内容,请关注: github:https://github.com/gotonote/Autopilot-Notes.git 摄像头是目前自动驾驶车中应用和研究最广泛的传感器,其采集图像的过程最接近人类视觉系统。基于图像的物体检测和识别技术已经相当成熟&#…...

linux安装mysql8且初始化表名忽略大小写

mysql8下载地址 MySQL8.0安装步骤 1、把安装包上传到linux系统,解压、重命名并移动到/usr/local/目录: cd ~ tar -xvf mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz mv mysql-8.0.32-linux-glibc2.12-x86_64/ mysql80/ mv mysql80/ /usr/local/2、在M…...

Java-长字符串加密

引言: 在数据安全领域,加密技术是保护信息不被未授权访问的重要手段。特别是在处理长字符串时,如何保证加密后的数据既安全又高效,是一个值得探讨的话题。本文将介绍几种常见的加密算法,并展示如何在Java中实现这些算法…...

使用pytest单元测试框架执行单元测试

Pytest 是一个功能强大且灵活的 Python 单元测试框架,它使编写、组织和运行测试变得更加简单。以下是 Pytest 的一些主要特点和优点: 简单易用:Pytest 提供了简洁而直观的语法,使编写测试用例变得非常容易。它支持使用 assert 语…...

Flutter 中 DraggableScrollableSheet 的属性介绍与使用

在 Flutter 中,DraggableScrollableSheet 是一个非常有用的小部件,它允许用户通过手势来拖动一个可滚动的区域,通常被用作底部弹出式面板或者随手势拖动的控件。本文将介绍 DraggableScrollableSheet 的属性以及如何在 Flutter 中使用它。 D…...

分库分表面试必背

一,背景 随着互联网的普及,使用人数和场景爆炸式增长,现在随便一个应用系统都可能达到数百万千万甚至更大数量级的数据。大量的数据带来了新的挑战,怎么快速完成增删改查的业务,是应用服务开发者最头痛的问题。面对这个…...

14个常见的Java课程设计/毕业设计合集(源码+文档)

从网上整理收集了14个常见的java系统设计源码,可以用于课程作业或者毕业设计。 1.基于java的家政预约网站系统 平台采用B/S结构,后端采用主流的Springboot框架进行开发,前端采用主流的Vue.js进行开发。 整个平台包括前台和后台两个部分。 …...

如何用 docker 部署程序?

如何用 docker 部署程序?这个问题有点笼统。 如果是MySQL、Redis这些,只需要拉取镜像,然后设置必要的配置,最终创建并运行实例即可。 如果你的应用是一个Java应用程序,使用Docker来部署它会涉及到Java特有的一些考虑…...

5G固定无线接入(FWA)

固定无线接入(FWA) 固定无线接入(Fixed Wireless Access)是使用两个固定点之间的无线电链路提供无线宽带的过程。换句话说,固定无线是一种为家庭或企业提供无线互联网接入的方式,无需铺设光纤和电缆来提供最…...

Unity ScreenPointToRay 获取到的坐标不准确

👾奇奇怪怪的 🥙问题描述🥪解决方案🍿验证代码 🥙问题描述 使用:Camera.main.ScreenPointToRay 将鼠标坐标转换成射线,然后通过:Physics.Raycast 获取到射线碰撞到的坐标&#xff0…...

AJAXJSON入门篇

AJAX&JSON 概念:AJAX(Asynchronous JavaScript And XML):异步的JavaScript和XML AJAX作用: 与服务器进行数据交换:通过AJAX可以给服务器发送请求,并获取服务器响应的数据 使用了AJAX和服务器进行通信,就可以使用H…...

代码随想录算法训练营29期|day54 任务以及具体安排

第九章 动态规划part11 123.买卖股票的最佳时机III // 版本一 class Solution {public int maxProfit(int[] prices) {int len prices.length;// 边界判断, 题目中 length > 1, 所以可省去if (prices.length 0) return 0;/** 定义 5 种状态:* 0: 没有操作, 1: 第一次买入…...

文件操作相关工具类

目录 1. 文件上传工具类 -- FileUploadUtils 2. 文件处理工具类 -- FileUtils 3. 媒体类型工具类 -- MimeTypeUtils 1. 文件上传工具类 -- FileUploadUtils /*** 文件上传工具类**/ public class FileUploadUtils {private static final Logger log LoggerFactory.ge…...

Spring源码:手写SpringIOC

文章目录 一、分析二、实现1、版本1:实现Bean注入IOC容器,并从容器中获取1)定义BeanDefinition2)定义BeanDefinition实现类3)定义BeanDefinitionRegistry4)定义Beanfactory5)定义默认Beanfactor…...

【软件设计师】程序猿需掌握的技能——数据流图

作为一个程序员,不仅要具备高水平的程序编码能力,还要是熟练掌握软件设计的方法和技术,具有一定的软件设计能力,一般包括软件分析设计图(常见的有数据流图,程序流程图,系统流程图,E-…...

17.3.1 像素处理

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 17.3.1 像素处理 C#处理图像,主要使用到Bitmap 类的 GetPixel方法和SetPixel方法。 Bitmap.GetPixel 方法&#xff1a…...

白话微机:8.解释FPGA以及一些考研面试问题

一. 前言(更新世界观) 在“微机世界”,普通的城市(单片机)里,人又有一个别的名字叫做“数据”,人有0有1;人们也有住房,这些住房在这个世界叫做“存储器”;地上有路,这些路…...

Kubernetes基础(十八)-k8s存储对象Persistent Volume

1 什么是Persistent Volume? 在容器化应用中,Pod的生命周期是短暂的,当Pod终止时,其中的数据通常也会被销毁。为了解决这个问题,Kubernetes引入了Persistent Volume(PV)的概念。PV是集群中的一…...

量子计算与生成式AI融合:自动化电路生成技术解析

1. 量子计算与生成式AI的交叉领域概述量子计算作为下一代计算范式,正在经历从理论到实践的转变过程。在这个过程中,量子电路的设计与实现成为关键瓶颈。传统手工编写量子电路的方式效率低下,难以满足日益复杂的量子算法需求。与此同时&#x…...

基于同态加密与DeepID2的安全人脸验证系统架构与工程实践

1. 项目概述:当人脸识别遇上隐私保护 在数字监控、智能门禁乃至日常的手机解锁中,人脸验证技术已经无处不在。作为一名长期关注计算机视觉与数据安全的从业者,我见证了这项技术从实验室走向千家万户的历程。它的核心逻辑很直观:通…...

ESP32嵌入式AI语音助手安全加固实战指南

1. 这不是“调个API就完事”的玩具项目,而是一次对嵌入式AI终端真实攻防边界的摸底你手头刚拿到一份标榜“ESP32本地LLM语音唤醒”的开源AI语音助手源码,烧录进开发板后,它能听懂“打开灯”“今天天气怎么样”,甚至能用合成语音回…...

鸿蒙PC:鸿蒙electron跨端框架PC链接雷达实战:把本地收藏夹升级成可巡检的链接管理面板

前言 欢迎加入鸿蒙PC开发者社区,共同打造开发者工具生态:鸿蒙PC开发者社区 :https://harmonypc.csdn.net/ 项目开源地址:https://AtomGit.com/lqjmac/ele_lianjieleida 浏览器收藏夹能保存链接,但不擅长保存判断。 …...

实际开发中 SQL 与产品的耦合与互动实践

引言 在产品开发初期,数据库 Schema(表结构)的设计是一个绕不开的核心问题。很多开发者,尤其是新手,常常会陷入一个两难境地:“Schema 需要一开始就完全确定好吗?如果后期要改动怎么办?到底要设计多少个表(Schema 数量)才算合适?” 这些问题背后,反映的是对软件工…...

Agent大战,赢家暗自在哪下功夫?

(一)日子都不好过OpenAI和Anthropic在release note节奏上,证明了一件事:他们有实力两周抬一次模型能力线。其威力,足以消灭掉一批创业公司。这事不展开,共识。在这一波里,别说小公司&#xff0c…...

Lovable不是UI美化!揭秘神经科学验证的4层用户依恋模型与落地SDK架构

更多请点击: https://intelliparadigm.com 第一章:Lovable不是UI美化!揭秘神经科学验证的4层用户依恋模型与落地SDK架构 Lovable并非视觉动效堆砌,而是基于fMRI与眼动追踪实验验证的神经认知路径——当用户在300ms内完成「感知→…...

NRF52832实战:从SYSTEM_ON到SYSTEM_OFF,手把手教你配置蓝牙低功耗(附代码避坑)

NRF52832低功耗实战:从代码优化到硬件调校的全链路指南 在嵌入式蓝牙产品开发中,低功耗设计往往是决定产品成败的关键因素。NRF52832作为Nordic Semiconductor的经典蓝牙低功耗(BLE)解决方案,其灵活的低功耗模式配置既带来了无限可能&#x…...

泉盛UV-K5/K6对讲机专业级固件定制与功能扩展指南

泉盛UV-K5/K6对讲机专业级固件定制与功能扩展指南 【免费下载链接】uv-k5-firmware-custom 全功能泉盛UV-K5/K6固件 Quansheng UV-K5/K6 Firmware 项目地址: https://gitcode.com/gh_mirrors/uvk5f/uv-k5-firmware-custom 泉盛UV-K5/K6对讲机LOSEHU固件是一款基于多个开…...

2026年B2B制造业GEO优化服务商推荐:工业品牌AI搜索可见度提升实战指南

摘要:B2B制造业的品牌营销与消费品逻辑完全不同——技术参数、行业资质、项目案例才是AI推荐的核心素材。本文从B2B行业理解深度、结构化内容能力、合规安全保障三个维度,对比泓动数据、百分点科技、赛诺贝斯、大树科技、Laver AI五家服务商在工业制造业…...