vscode远程免密ssh原理与实操方法

什么是SSH

SSH是一种加密协议,全称为Secure Shell,用于安全地远程登录到服务器或其他远程设备上执行命令或传输文件。它提供了一种安全的加密通信机制,使得远程登录和文件传输等操作不会被恶意攻击者窃取或篡改,确保了数据的保密性和完整性。SSH采用公钥密码学技术,能够有效地防止被中间人攻击或网络窃听。

举例来说,如果我们要使用 Github 这种 git 代码托管平台的话,首先本地要生成一个 SSH 私钥(如id_rsa)公钥(如id_rsa.pub),然后将 公钥 填写到 Github 的 SSH Key 管理面板中。当我们向 Github 推送代码的时候会首先发起身份校验。此时,本地会将用户信息通过 SSH 私钥 执行『签名』操作。当签名信息发送到 Github 的时候,Github 就会使用用户保存在平台上的 公钥 来校验签名信息,使用 私钥 签名信息只能由对应的 公钥 进行校验,因此如果 Github 对签名校验通过,就可以认证当前的用户对代码仓库拥有响应的操作权限,之后就可以让用户提交的代码入库了,整体流程如下图:
在这里插入图片描述

关于公钥和私钥,是『非对称加密』相关的内容,公钥通常用于 内容加密认证签名,是可以在服务器与客户端之间进行传播的;而私钥是用来 解密公钥加密的内容对内容进行签名 用的

综上,SSH 采用非对称加密的方式来完成客户端与服务器端的认证并建立通信连接,因此可以被用于客户端与 git 平台之间的认证,以及远程服务器之间的免密认证。

vscode远程免密ssh

每次用vscode打开文件夹都要输入密码,让人有点心烦,小编利用 51假期研究了一会,终于找到了vscode远程免密ssh连接Linux的方法。本文非常合适有多个git账户的读者。

尝试使用终端工具SSH远程连接Linux

例如Git Bash,Cmder,MobaXterm。
~/.ssh文件夹创建authorized_keys文件,待会我们要把windows下的codeserver_id_rsa.pub文件的内容(按下Ctrl+A全选内容)拷贝到这个文件。如果有多个用户需要免密登录,一个一行。如果觉得拷贝麻烦的可以使用ssh-copy-id命令,不过,本文仅通过最本质的方法来操作。

安装Remote SSH 插件

在这里插入图片描述

配置hosts

C:\Windows\System32\drivers\etc配置远程IP对应的域名

# Debain
192.168.10.19 debain.cc
# Debain
192.168.10.18 codeserver.cc

配置windows的ssh config文件

C:\Users\用户名\.ssh\文件夹配置config文件。如何没有config文件,使用touch config命令生成该文件。

# codeServer
Host codeserver.ccHostName codeserver.ccUser 登录Linux的用户名PreferredAuthentications publickeyIdentityFile /c/Users/用户名/.ssh/codeserver_id_rsa# gitee
Host gitee.comHostName gitee.comPreferredAuthentications publickeyIdentityFile /c/Users/用户名/.ssh/gitee_id_rsa# github
Host github.comHostName github.comPreferredAuthentications publickeyIdentityFile /c/Users/用户名/.ssh/github_id_rsa# Gitlab
Host gitlab.comHostName gitlab.comPreferredAuthentications publickeyIdentityFile /c/Users/用户名/.ssh/gitlab_id_rsa

生成win端的公钥与私钥命令如下

换成你的邮箱和你的用户名。

ssh-keygen -t rsa -C "xxx@qq.com" -f /c/Users/用户名/.ssh/gitee_id_rsa
ssh-keygen -t rsa -C "xxx@qq.com" -f /c/Users/用户名/.ssh/github_id_rsa
ssh-keygen -t rsa -C "xxx@qq.com" -f /c/Users/用户名/.ssh/gitlab_id_rsa
ssh-keygen -t rsa -C "xxx@qq.com" -f /c/Users/用户名/.ssh/codeserver_id_rsa

生成文件如下

codeserver_id_rsa     
codeserver_id_rsa.pub  
config                
gitee_id_rsa          
gitee_id_rsa.pub       
github_id_rsa         
github_id_rsa.pub     
known_hosts                        

拷贝codeserver_id_rsa.pub内容至linux的authorized_keys文件

使用命令vi ~/.ssh/authorized_keys拷贝codeserver_id_rsa.pub公钥全部内容至linux的authorized_keys文件。一行一个公钥,代表一个用户。
在这里插入图片描述

如果登录不了,可以先注释掉下面两行。

Host codeserver.ccHostName codeserver.ccUser 登录Linux的用户名#PreferredAuthentications publickey#IdentityFile /c/Users/用户名/.ssh/codeserver_id_rsa

使用Ctrl + Shift + P,打开命令窗口,输入重启窗口命令reload window,确认左下角进入到连接成功的状态,期间没有提示输入密码的窗口,即代表成功了

在这里插入图片描述

以上操作可通过 ssh-copy-id 命令自动完成,这样就不必手动复制并安装公钥了。

参考资料

ssh copy
vscode通过ssh连接远程服务器 免密登录
如何配置 SSH 管理多个 Git 仓库和以及多个 Github 账号
服务器上的 Git - 配置服务器

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

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

相关文章

Jackson系统开发方法

1、Jackson分析方法是面向数据流的分析方法。这一方法从目标系统的输入、输出数据结构入手,导出程序框架结构,再补充其它细节,就可得到完整的程序结构图。 2、应用场景:这一方法对输入、输出数据结构明确的中小型系统特别有效&am…

数据库(MySQL)—— 初识和创建用户

数据库(MySQL)—— 初识 什么是数据库数据库的种类创建用户mysql -h 主机名或IP地址 -u 用户名 -p 登录mysqlSELECT USER(); 查看当前用户切换用户GRANT ALL PRIVILEGES ON 赋予用户权限 REVOKE 撤销权限示例注意事项 MySQL的图形化界面工具查看所有用户…

【oracle数据库安装篇三】Linux6.8单机环境oracle11g容灾ADG搭建

说明 DataGuard 是在主节点与备用节点间通过日志同步来保证数据的同步,可以实现数据库快速切换与灾难性恢复。用户能够在对主数据库影响很小的情况下,实现主备数据库的同步。 关联文章 【oracle数据库安装篇一】Linux5.6基于LVM安装oracle11gR2单机 【…

追踪攻击数据包中的真实IP地址:方法与技巧

在网络安全领域,追踪攻击数据包中的真实IP地址是一项至关重要的任务。通过确定攻击者的真实IP地址,可以有效地识别和阻止网络攻击行为,提高网络安全防御水平。IP数据云IP地址查询将介绍几种常用的方法和技巧,帮助安全人员有效追踪…

嵌入式C语言教程:实现气压监测系统

气压监测在气象学、航空和户外活动装备中非常重要。本教程将介绍如何在STM32微控制器上使用数字气压传感器实现实时气压监测系统。 一、开发环境准备 硬件要求 微控制器:STM32L476RG,具备低功耗特性和足够的处理能力。开发板:STM32L4 Disc…

CAXA 3D实体设计2024:塑造未来的创新引擎

在数字化时代的浪潮中,3D CAD实体建模设计正成为推动工业创新的核心动力。CAXA 3D实体设计2024,以其卓越的性能和丰富的功能,为企业和个人用户带来了前所未有的设计体验。 CAXA 3D实体设计2024不仅拥有直观易用的界面,还配备了强…

【Osek网络管理测试】[TG4_TC5]唤醒条件

🙋‍♂️ 【Osek网络管理测试】系列💁‍♂️点击跳转 文章目录 1.环境搭建2.测试目的3.测试步骤4.预期结果5.测试结果 1.环境搭建 硬件:VN1630 软件:CANoe 2.测试目的 验证DUT验证DUT睡眠后被唤醒,并再次睡眠能否…

LINQ 提供了两种主要的查询语法:方法语法和查询表达式

LINQ 提供了两种主要的查询语法:方法语法和查询表达式。这两种语法在功能上是等价的,只是语法形式不同,开发人员可以根据个人偏好选择使用哪种。下面分别介绍这两种语法: 1. 方法语法: 方法语法是使用 LINQ 扩展方法来…

第七十三章 Apache (UNIX® Linux macOS) 的替代选项 - 替代选项 2:带有 NSD 的 CGI 模块 (nph-CSPcgi)

文章目录 第七十三章 Apache (UNIX Linux macOS) 的替代选项 - 替代选项 2:带有 NSD 的 CGI 模块 (nph-CSPcgi)替代选项 2:带有 NSD 的 CGI 模块 (nph-CSPcgi)映射其他文件类型使用 CGI 和 NSD 操作和管理 Web 网关 第七十三章 Apache (UNIX Linux macOS…

ZoomIt快捷键

ZoomIt快捷键 ZoomIt是一款非常实用的屏幕放大镜软件,可以帮助用户更好地查看电脑屏幕上的细节。一些主要功能包括: 放大镜功能 - 可以实时放大屏幕的任何部分,并支持多种视图模式如正常、灰度、反色等。取色器 - 可以精确获取屏幕上任何颜色的RGB值。…

关于二手车系统学习--登录模块

1.样式1-17行 <div class"cheader"><div style"width: 80%;margin: 0 auto;line-height: 50px;padding-top: 10px"><el-row><el-col:span"5"style"font-size: 20px;cursor: pointer;color: #00ae66;font-weight: bold…

typescript 不是特别常用,容易忘的知识点

1、花括号对象通过方括号字符串形式取值 let obj { name: asd, age: 21, salary: 400, desc: "asdasd", op: [asd, as, qwe] };for (let i in obj) {console.log(obj[i as keyof typeof obj]); }let key name; console.log(obj[key as name]); console.log(obj[ke…

富格林:正确杜绝欺诈实现出金

富格林悉知&#xff0c;现货黄金一直以来都是投资者们追逐的热门品种之一。其安全性和避险特性吸引着广大投资者。但在现货黄金市场中要想实现出金其实并不简单&#xff0c;是需要我们通过一定的技巧和方法去正确杜绝欺诈套路。下面为了帮助广大投资者正确杜绝欺诈实现出金&…

九、redis过期策略

目录 一、设置redis键的过期时间 1、删除过期时间 2、查看过期时间 二、过期删除策略 1、定时删除&#xff1a; 2、惰性删除&#xff1a; 3、定期删除&#xff1a; 4、惰性删除和定期删除配合使用 三、 1、设置redis最大内存 2、设置内存的淘汰方式 总结&#xff1…

运维自动化之 ansible

目录 一 常见的自动化运维工具 &#xff08;一&#xff09;有哪些常见的 自动化运维工具 &#xff08;二&#xff09;为什么后面都变成用 ansible 二 ansible 基本介绍 1&#xff0c; ansible 是什么 2&#xff0c;ansible能干什么 3&#xff0c;ansible 工作原…

桌面文件删除了怎么恢复?4个靠谱方法分享!

“我平常工作的时候喜欢将文件直接保存在电脑桌面上&#xff0c;但是今天一打开电脑&#xff0c;突然发现我的文件都不见了&#xff0c;有什么恢复桌面文件的简单方法吗&#xff1f;希望大家可以推荐几个。” 很多用户在使用电脑时可能都习惯了把文件直接放在桌面上&#xff0c…

RESTful API 构建 Web 应用程序

RESTful API 是一种设计风格&#xff0c;用于创建和管理 Web 应用程序的 API。REST&#xff08;Representational State Transfer&#xff09;表示一组规范和约定&#xff0c;用于在网络上传输和操作数据。RESTful API 使用 HTTP 方法&#xff08;如 GET、POST、PUT、DELETE&am…

基于.NET WinForms 数据CURD功能的实现

使用开发工具 VS 2022 C#&#xff0c;数据库MS SQL SERVER 2019 &#xff0c;基于NET WinForms&#xff0c;实现数据记录的创建(Create)、更新(Update)、读取(Read)和删除(Delete)等功能。主要控件包括&#xff1a;DataGridView&#xff0c;SqlDataApater &#xff0c; DataTab…

瑞萨RH850 SPI的异步传输

一、SPI工作原理 SPI (Serial Peripheralinterface),顾名思义就是串行外围设备接口。SPI是一种高速的&#xff0c;全双工&#xff0c;同步的通信总线&#xff0c;并且在芯片的管脚上只占用四根线&#xff0c;节约了芯片的管脚&#xff0c;同时为PCB的布局上节省空间&#xff0…

深度解读:Agent AI智能体如何重塑我们的现实和未来|TodayAI

​​​​​​​ 一、 引言 在当今时代&#xff0c;人工智能&#xff08;AI&#xff09;技术的快速发展正不断改变着我们的生活与工作方式。尤其是Agent AI智能体&#xff0c;作为AI技术中的一种重要形式&#xff0c;它们通过模拟人类智能行为来执行各种复杂任务&#xff0c;从…