文章目录

  • 验证原理
  • 特点

在gitlab,github上面拷贝代码时,通常用到了git clone ssh://XXX命令。其中ssh指secure shell(一种安全的网络协议),git使用这种协议进行远程加密登录。

验证原理

SSH登录安全性由非对称加密保证,产生密钥时,一次产生两个密钥,一个公钥,一个私钥,在git中一般命名为id_rsa.pub, id_rsa。

那么如何使用生成的一个私钥一个公钥进行验证呢?

  • 本地生成一个密钥对,其中公钥放到远程主机,私钥保存在本地
  • 当本地主机需要登录远程主机时,本地主机向远程主机发送一个登录请求,远程收到消息后,返回一个随机生成的字符串,本地拿到该字符串,用存放在本地的私钥进行加密,再次发送到远程,远程用之前存放在远程的公钥对本地发送过来加密过的字符串进行解密,如果解密后与源字符串等同,则认证成功。

特点

  • ssh方式单独使用非对称的秘钥进行认证和加密传输,和账号密码分离开来,不需要账号也可以访问repo。
  • 生成和管理秘钥有点繁琐,需要管理员添加成员的public key。不能进行匿名访问,ssh不利于对权限进行细分,用户必须具有通过SSH协议访问你主机的权限,才能进行下一步操作,比较适合内部项目

git ssh 原理相关推荐

  1. Git详解之九 Git内部原理

    以下内容转载自:http://www.open-open.com/lib/view/open1328070620202.html Git 内部原理 不管你是从前面的章节直接跳到了本章,还是读完了其余各 ...

  2. Git命令家底儿及Git数据通信原理详解

    声明:本文为CSDN原创投稿文章,未经许可,禁止任何形式的转载. 作者:周立伟(花名:华序,ITeye博客),关注分布式.高并发和Java中间件的研究. 责编:钱曙光,关注架构和算法领域,寻求报道或者 ...

  3. Git 存储原理及相关实现

    Git 是目前最流行的版本控制系统,从本地开发到生产部署,我们每天都在使用 Git 进行我们的版本控制,除了日常使用的命令之外,如果想要对 Git 有更深一步的了解,那么研究下 Git 的底层存储原理 ...

  4. 【Java从0到架构师】git 核心原理和分支管理

    git 核心原理和分支管理 核心原理 Git 数据存储结构 git add 流程 - 把数据添加到暂存区 git commit 流程 - 把数据提交到版本库 HEAD 关联关系处理 分支管理 常用命令 ...

  5. git(9)Git 内部原理

    9 Git 内部原理 不管你是从前面的章节直接跳到了本章,还是读完了其余各章一直到这,你都将在本章见识 Git 的内部工作原理和实现方式.我个人发现学习这些内容对于理解 Git 的用处和强大是非常重要 ...

  6. Git详解:Git内部原理

    原文地址见伯乐在线:http://blog.jobbole.com/26209/ 2012/09/01 · IT技术, 书籍与教程 · Git, Pro Git, 版本控制 分享到: 36 Andro ...

  7. Mac 环境下连接多个git — ssh方式

    Mac 环境下连接多个git - ssh方式 1.查看当前是否存在ssh ls ~/.ssh/ 看到 id_rsa 与 id_rsa_pub 则说明已经有一对密钥. 2.生产新的公钥,并命名它不于之前 ...

  8. Git SSH Key 生成并添加到github/gitee步骤

    Git SSH Key 生成并添加到github/gitee步骤 在本地生成密钥 大家好,这里是坚果前端小课堂,欢迎大家关注我的公众号,"坚果前端" Git是分布式的代码管理工具, ...

  9. Git内部原理之深入解析Git的引用和包文件

    一.Git 分支本质 如果对仓库中从一个提交(比如 1a410e)开始往前的历史感兴趣,那么可以运行 git log 1a410e 这样的命令来显示历史,不过需要记得 1a410e 是查看历史的起点提 ...

最新文章

  1. Struts(十):OGNL表达式(一)
  2. 天天象棋 残局闯关 第6关
  3. c++-内存管理-array allocator
  4. Linux平台 Oracle 18c RAC安装Part3:DB配置
  5. 关于Mathematica 的cdf 文件的嵌入应用
  6. python去除视频中的logo_Python音视频开发:消除抖音短视频Logo和去电视台标的实现详解...
  7. java开发的主流_盘点2019年Java开发中7项主流、热门的IT技术!
  8. c/c++教程 - 1.4 数据类型 sizeof
  9. php数据库find(),db_find()
  10. Java web ch02_3
  11. 8uftp,8uftp连接不上怎么办
  12. android课程设计健身,健身软件课程设计本科毕业设计论文.doc
  13. 我推荐这几个好玩有趣的小网站
  14. 用Win32DiskImager写入U盘容量变小,恢复容量方法
  15. 计算机网络原理ospf协议配置思考题,动态路由协议之OSPF理论篇(下)(含虚链路的实验)...
  16. php7.0的新特性
  17. Ryzen 5 5600G windows 10 企业版 - 高温 BUG
  18. Matlab中text函数的使用
  19. 用计算机写作文的好处,用计算机写作文.ppt
  20. 软件项目、产品版本号的命名规则、定义、命名规范(git代码分支版本、项目产品文档版本)

热门文章

  1. SRU/SRW协议的异构库检索详解(一) _SRU
  2. 2021-07-16二进制类RPC协议:还是叫NBA吧,总说全称多费劲
  3. php 项目 jwt,JWT 在项目中的实际使用
  4. [跳舞吧多人视频空间]ADS集成开发环境先容
  5. 千姿百态项目经理3——“牛X”项目经理1
  6. mysql 分区 效率_【MySQL】MySQL分区表效率测试对比
  7. Core i7-4770K的详细性能
  8. (转)魔兽玩家和劲舞团玩家的差别
  9. 天时测试软件制冷量计算,热平衡法测试
  10. 图片解码python