SSH密钥认证登陆流程(Vscode连接到远程)
目录
- 前言
- 连接远程步骤
- 1. 下载工具包wsCli到本地机器
- 2. 本地机器上生成ssh密钥
- 3. 在服务器上安装公钥
- 4. vscode连接到远程
- 参考资料
前言
SSH(Secure Shell)是一种用于远程登录和安全传输数据的网络协议。它提供了两种主要的远程连接方式:
-
密码认证:使用用户名和密码进行身份验证。在这种方式下,用户需要提供正确的用户名和密码才能成功连接到远程主机。这是最常见的认证方式,但安全性较低,因为密码可能会被猜测或通过网络截获。
-
公钥认证:使用公钥和私钥进行身份验证。在这种方式下,用户需要生成一对密钥,包括公钥和私钥。用户将公钥上传到远程主机上,而私钥保留在本地。当用户尝试连接到远程主机时,远程主机会使用存储的公钥进行验证。如果公钥验证成功,用户将被授权访问。公钥认证提供了更高的安全性,因为私钥通常比密码更难以猜测。
这两种方式可以根据用户的需求和安全要求进行选择。公钥认证通常被认为是更安全和推荐的方式,特别是在需要远程访问的生产环境中。
连接远程步骤

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 获取到射线碰撞到的坐标࿰…...
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 方法:…...
白话微机:8.解释FPGA以及一些考研面试问题
一. 前言(更新世界观) 在“微机世界”,普通的城市(单片机)里,人又有一个别的名字叫做“数据”,人有0有1;人们也有住房,这些住房在这个世界叫做“存储器”;地上有路,这些路…...
Kubernetes基础(十八)-k8s存储对象Persistent Volume
1 什么是Persistent Volume? 在容器化应用中,Pod的生命周期是短暂的,当Pod终止时,其中的数据通常也会被销毁。为了解决这个问题,Kubernetes引入了Persistent Volume(PV)的概念。PV是集群中的一…...
SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...
