博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【工具使用】Git密码存储相关问题探究以及资料整理
阅读量:4626 次
发布时间:2019-06-09

本文共 863 字,大约阅读时间需要 2 分钟。

在公司的托管平台gogs上,遇到一个任务需要用不同的账号进行操作和处理。这样就遇到一个问题了,死活没有办法在拉去代码的时候,提示输入用户,输入密码。

我的操作系统是mac、安装了git环境,用的软件是sourcetree。我就开始收集资料经过了一番排查。

官方资料

那么首先肯定是git官方资料:

官方说明了git的一个密码存储配置

  1. 默认
  2. cache缓存一段时间
  3. store本地明文缓存
  4. mac系统有钥匙串
  5. window等其他系统有类似的工具。

于是我排查了我的电脑果然是使用钥匙串,也就是当我第一次输入用户名和密码进行连接的时候,系统已经默认帮我记住了该网站对应的账户和密码,之后每次都进行输入。

所以我想改成默认的配置,发现死活不生效。于是遇到了第二个问题

git默认有三个层级的配置:项目配置、全局配置、系统配置,一级会覆盖一级。但是mac系统中系统配置默认的就是钥匙串。于是乎无解。

所以得到了初步的解决方案:1. 在钥匙串里面删除密码访问记录,所有的仓库都会重新需要你输入密码。

使用ssh拉取镜像

ssh拉去的好处之一省去输入密码的操作,这点我是很喜欢的。于是我查了基本流程

  1. 使用ssh-keygen生产对应rsa的公钥和加密的私钥。公钥要配置到服务器(账户上)私钥要添加到本地ssh连接中。
  2. 创建后通过ssh-add加入到ssh-agent(每次系统开机生效)意味着重启需要重新输入密码
  3. 使用ssh-add -K 添加到钥匙串中,不过依旧每次都得重启。
  4. 使用终端连接脚本处理,只针对终端脚本有效。
  5. 使用ssh的config进行配置,针对域名使用钥匙串进行私钥验证,以及添加映射匹配进行两者的区分。完美实现。

参考文章:

对比下拉代码的三种方式:

http、https、ssh

我就查找了下这三种分别对比的优缺点:

期间我为了测试,使用gogs对应类似github的服务器

添加一张gogs配置时候的截图

转载于:https://www.cnblogs.com/fly-piglet/p/10136479.html

你可能感兴趣的文章
PHP中获取当前页面的完整URL
查看>>
Chapter 4 Syntax Analysis
查看>>
vi/vim使用
查看>>
讨论Spring整合Mybatis时一级缓存失效得问题
查看>>
Maven私服配置Setting和Pom文件
查看>>
Xcode10 library not found for -lstdc++ 找不到问题
查看>>
Mysql 8.0.13如何重置密码
查看>>
发布功能完成
查看>>
excel 合并单元格
查看>>
How to Create Modifiers Using the API QP_MODIFIERS_PUB.PROCESS_MODIFIERS
查看>>
待飞笔记(第一天 )
查看>>
解惑好文:移动端H5页面高清多屏适配方案
查看>>
traefik添加多证书
查看>>
忽略UserInterfaceState.xcuserstate
查看>>
ReactNative--Flexbox布局
查看>>
java实现读取文件大全
查看>>
[Cordova] 无法显示Alert视窗
查看>>
借助过度区选择阈值
查看>>
评论列表显示及排序,个人中心显示
查看>>
JavaScript 实现鼠标拖动元素
查看>>