使用ssh-key免密登录服务器或git代码仓库网站

 

现在常用的git代码仓库网站(简称git站)有: gitee、coding、github、gitlab、bitbucket等。

 

你在git站注册了账号后,可以进入账号设置里面添加ssh-key,从而实现你本地机器免密clone、pull、push你在该git网站的仓库(即项目代码)。

 

这里有个关键的知识点就是ssh key的工作原理。

 

假设有两台机器,分别是:

主机A(hostA),ip:198.168.0.1

主机B(hostB),ip:192.168.0.2

 

如果主机A想通过ssh-key访问主机B,

1、必须先在主机A生成一对ssh-key(包括公钥和私钥);

2、接着把主机A的ssh-key公钥添加到主机B的授权密钥文件里(这步叫做“授权”);

3、主机B对主机A的授权完成后,主机A就可以通过ssh-key免密登录主机B。

 

 

 

要在主机A生成ssh-key密钥对,可以通过ssh-keygen指令(windows机器可以使用git客户端的git-bash.exe)。

#推荐使用ed25519加密算法,比默认的rsa算法更快更安全,生成的密钥串也更短。

#敲下以下指令回车后,第一步会提示生成的私钥文件的默认路径,如有需要可以自行修改路径或文件名。第二第三步是二次确认访问该ssh-key的密码,一般都留空直接回车。

ssh-keygen -t ed25519

 

三次回车后,可以在当前用户home目录的.ssh文件夹(即~/.ssh/)找到该ssh-key密钥对:id_ed25519 和 id_ed25519.pub。其中带.pub后缀的为公钥,不带.pub后缀的为私钥。这两个文件的内容都是文本,可以编辑和查看。

 

 

 

要完成主机B对主机A的ssh-key授权,有两种方式:

1、在主机A通过ssh-copy-id指令将本机的公钥文本内容写入到主机B的授权密钥文件

# 如果主机B的ssh端口是默认的22端口,也可以省去- p 22。如果是要登录主机B的非root用户,则修改为目标用户的用户名

ssh-copy-id [-p 22] root@192.168.0.2

#输入主机B的登录用户密码后,执行成功则可以在主机B的目标用户home目录的.ssh文件夹(即~/.ssh/)的authorized_file文件看到成功追加了主机A的ssh-key公钥(即id_ed25519.pub)的文本内容。

 

2、可以跳过ssh-copy-id指令,直接登录主机B的目标用户,编辑当前用户的授权密钥文件(即~/.ssh/authorized_file,没有该文件则需用touch指令先创建该文件),把主机A的ssh-key公钥(即id_ed25519.pub)的文本内容追加进来。

 

 

这样子,就可以在主机A执行ssh指令通过ssh-key免密登录到主机B。

 

 

 

 

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

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

相关文章

C#程序开发,使用OpenHardwareMonitor测量 Windows 运行状态

1、数据结构 using System;namespace PcMonitor.Protocol {[Serializable]public class MachineInfo{public CpuInfo Cpu;public MemoryInfo Memory;public GpuInfo Gpu;public MachineInfo(CpuInfo cpu, MemoryInfo memory, GpuInfo gpu){Cpu cpu;Memory memory;Gpu gpu;}…

三、k8s快速入门之Kubectl 命令基础操作

⭐️创建Pod [rootmaster ~]# kubectl run nginx --imageharbor.tanc.com/library/ngix:latest kubectl run --generatordeployment/apps.v1 is DEPRECATED and will be rmoved in a future version. Use kubectl run --generatorrun-pod/v1 or kbectl create instead. deplo…

Spring Boot 集成阿里云直播点播

在当今数字化时代,视频直播和点播服务已经成为许多应用的核心功能。阿里云提供了强大的直播和点播服务,能够满足各种规模的应用需求。而 Spring Boot 作为一种流行的 Java 开发框架,能够快速构建高效的应用程序。本文将详细介绍如何在 Spring…

电能表预付费系统-标准传输规范(STS)(30)

6.5.3.2 CONTROLBlock construction The 1 6 digit CONTROLBlock is constructed from the data elements in the APDU as defined in Table 36 and Table 37.The most significant digit is in position 1 5 and the least significant digit in position 0. APDU中的数据元素…

Jmeter基础篇(19)JSR223预处理器

前言 JSR223预处理器是Apache JMeter中的一个组件,它允许用户使用任何支持Java Scripting API (JSR 223) 的脚本语言来执行预处理任务。这个功能非常强大,因为它让测试人员能够利用如Groovy、JavaScript(Nashorn引擎)、BeanShell…

Unity GameFramework Star Force 拆解(一)—— 启动流程

文章目录 启动流程:ProcedureLaunch:ProcedureSplash:ProcedureInitResources:ProcedurePreload:ProcedureChangeScene:ProcedureMenu:ProcedureMain: 首先,我是个菜鸡&a…

Python基于TensorFlow实现双向循环神经网络GRU加注意力机制分类模型(BiGRU-Attention分类算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后关注获取。 1.项目背景 随着深度学习技术的发展,循环神经网络(RNN)及其变种如门控循环…

echart实现地图数据可视化

文章目录 [TOC](文章目录) 前言一、基本地图展示2.数据可视化 总结 前言 最近工作安排使用echarts来制作图形报表,记录一下我的步骤,需求呈现一个地图,地图显示标签,根据业务指标值给地图不同省市填充不同颜色,鼠标放…

数学真题总结

举反例 看清正负号 对应的特征值一致 不用裁开计算行列式要注意符号!!! 根据值的大小确定正负 没有思路就构建tanx求极值要考虑端点线性方程:求通解归并x几何意义 整体思想 u e^x y都设计好了,曲线是f(x,y) 0,直接把…

ES跟Kafka集成

配合流程 1. Kafka作为分布式流处理平台,能够实时收集和处理不同数据源的数据流; 2. 通过Kafka Connect或者Logstash等中间件,可以将Kafka中的数据流实时推送到Elasticsearch中; 3. Elasticsearch接收到数据后,会根据…

价格文本对齐

记录一下工作里常遇到的一些简单问题: 需求是一个购买按钮上同时展示原价和现价: 1.原价现价文本格式不同 2.原价切需要加打折红线,不方便用富文本一个文本处理。 3.需要对两条文本适配父节点的宽度,不能超出按钮 以下是实现代…

c++:vector模拟实现

一、vector成员变量 库里实现用的就是这三个成员变量&#xff0c;咱们实现跟库里一样&#xff0c; namespace myvector {template<class T>class vector{public://vecttor的迭代器是原生指针typedef T* iterator;typedef const T* const_iterator; private:iterator _sta…

Microsoft.Extensions.Configuration 中检测到版本冲突

同一个项目用VS2019 可以正常打开编译运行 用VS2022打开编译报如下错误, 项目要求使用 .NET Core 2.2 版本 代码 说明 项目 文件 行 禁止显示状态 错误(活动) NU1107 Microsoft.Extensions.Configuration 中检测到版本冲突。直接安装/引用 Microsoft.Extensions.Configuratio…

【热门主题】000023 计算机视觉:算法与应用的深度探索

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 【热…

国产服务器平台离线部署k8s和kubesphere(含离线部署新方式)

"信创&#xff1a;鲲鹏麒麟&#xff0c;ARM64架构&#xff0c;实现K8s和Kubesphere的离线部署&#xff0c;全新方式助力企业高效运维。" 本文将深入探讨如何借助鲲鹏CPU(arm64)和操作系统Kylin V10 SP2/SP3,通过KubeKey制作KubeSphere与Kubernetes的离线安装包&#…

面试题整理 2

总结了本次面试遇到的值得整理记录的面试题。 目录 变量赋值判断 变量判断 Foreach使用 Mysql优化策略 合理的索引设计 查询优化 数据表结构设计 配置优化 合理使用事务 定期维护数据库 使用缓存 监控与性能分析 Redis主从复制 介绍 配置 示例 Redis 数据类型…

SOLID原则-单一职责原则

转载请注明出处:https://blog.csdn.net/dmk877/article/details/143447010 作为一名资深程序员越来越感觉到基础知识的重要性&#xff0c;比如设计原则、设计模式、算法等&#xff0c;这些知识的长期积累会让你突破瓶颈实现质的飞跃。鉴于此我决定写一系列与此相关的博客&…

「C/C++」C/C++ 之 指针详解

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「C/C」C/C程序设计&#x1f4da;全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasoli…

CSS--导航栏案例

利用CSS制作北大官网导航栏 详细代码如下&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>*{margin: 0;padding: 0;}#menu{background-color: darkred;width: 100%;height: 50px…

【语义分割|代码解析】CMTFNet-2: CNN and Multiscale Transformer Fusion Network 用于遥感图像分割!

【语义分割|代码解析】CMTFNet-2: CNN and Multiscale Transformer Fusion Network 用于遥感图像分割&#xff01; 【语义分割|代码解析】CMTFNet-2: CNN and Multiscale Transformer Fusion Network 用于遥感图像分割&#xff01; 文章目录 【语义分割|代码解析】CMTFNet-2: …