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是集群中的一…...
TL494电源芯片避坑指南:常见设计误区与调试技巧
TL494电源芯片避坑指南:常见设计误区与调试技巧 在电源设计领域,TL494作为一款经典PWM控制芯片,凭借其稳定性和灵活性赢得了工程师的青睐。但就像任何工具一样,只有真正理解它的特性才能发挥最大价值。本文将带您深入TL494的设计细…...
高级CMB2技巧:可重复字段组和动态条件显示
高级CMB2技巧:可重复字段组和动态条件显示 【免费下载链接】CMB2 CMB2 is a developers toolkit for building metaboxes, custom fields, and forms for WordPress that will blow your mind. 项目地址: https://gitcode.com/gh_mirrors/cm/CMB2 CMB2是Word…...
ContextMenuManager:让Windows交互回归高效本质
ContextMenuManager:让Windows交互回归高效本质 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 当你在Windows系统中右键点击文件时,是否…...
【等保三级Java安全加固实战指南】:20年专家亲授7大高危漏洞修复清单与合规落地路径
第一章:等保三级Java安全加固的合规基线与实施全景图等保三级对Java应用系统提出了覆盖身份鉴别、访问控制、安全审计、通信保密性、代码安全及运行环境防护等多维度强制性要求。其合规基线并非单一技术点的叠加,而是以《GB/T 22239-2019 信息安全技术 网…...
Linux 中的硬链接和软连接是什么,二者有什么区别?
在 Linux 文件系统中,**硬链接(Hard Link)和软链接(Soft Link,又称符号链接 Symbolic Link)**是两种不同的文件引用方式。它们都允许用户通过不同的路径访问同一个文件内容,但它们的实现机制、限…...
HUNYUAN-MT惊艳翻译效果:专业领域长文档翻译案例集
HUNYUAN-MT惊艳翻译效果:专业领域长文档翻译案例集 最近在尝试各种翻译工具时,我偶然间用到了HUNYUAN-MT 7B模型来处理一些工作上的专业文档。说实话,一开始没抱太大期望,毕竟专业翻译的门槛不低,尤其是那些充满术语和…...
CH347的JTAG模式怎么选?实测F/T型号在openFPGALoader下的速度与兼容性差异
CH347F与CH347T JTAG模式深度评测:openFPGALoader下的实战性能差异 当你在淘宝搜索"CH347模块"时,会发现两种主要型号:F型多功能版和T型切换版。价格相差无几,但商家描述往往含糊其辞。作为FPGA开发者,最关…...
ZGC停顿时间为何突然飙升?3个被90%团队忽略的配置雷区曝光
第一章:ZGC停顿时间为何突然飙升?3个被90%团队忽略的配置雷区曝光 ZGC(Z Garbage Collector)以亚毫秒级停顿著称,但生产环境中频繁出现 10–50ms 甚至更高停顿,往往并非内存压力所致,而是源于几…...
从特效 SDK 到 AI 动效平台:Neon Vibe Motion 的技术演进之路
多媒体中台在 B 站主要负责剪辑、拍摄、直播等业务场景的动效渲染,开发维护的 SDK 在后文统一称为特效 SDK。 传统的视频特效生产一般分三条链路: 三条链路存在一个困境:效果丰富度、实时可交互、生产效率,三者不可兼得。 那么能…...
MogFace人脸检测工具问题排查大全:从路径错误到权限问题的解决方案
MogFace人脸检测工具问题排查大全:从路径错误到权限问题的解决方案 1. 工具简介与常见问题概述 MogFace人脸检测工具是基于CVPR 2022发表的MogFace模型开发的本地高精度检测解决方案。它能够准确识别多尺度、多姿态以及部分遮挡的人脸,并自动标注检测框…...
