Linux下基于HTTP协议带用户认证的GIT开发环境设置
Git 的访问可以采用 HTTP 或 SSH 协议安全的访问,通常我们使用 gitlib 进行 Web 管理,但是在 Linux 命令行开发环境下,基本都是使用 SSH 协议,只需要在 gitlib 里面配置好相应的 SSH Key 就可以。
由于现在开发环境的特殊情况,我们需要在 Linux 命令行开发环境下,不能使用 SSH 方式,而只能使用 HTTP 协议进行安全访问,并且需要对开发者进行认证,并且开发者在本地开发环境中的用户名和密码需要加密存储。
接下来我就简单介绍我们的开发团队是如何在 Linux 命令行环境下进行 GIT 开发环境配置。
1. 创建 用户名/密码 文件(明文密码)
在自己的 $HOME 目录下,编辑 .netrc 文件,内容如下:
|
1
2
|
machine git.xxxxx.net login xxx@xxx.com password xxxxxx |
2. 创建 GnuPG 密钥
在自己的$HOME 目录下,执行命令:
|
1
2
|
gpg --gen-key注:默认回车即可,RSA密钥选择1024,2048太慢,但安全性好 |
可以使用以下命令查看已生成的密钥:
|
1
|
gpg --list-key |
3. 加密 用户名/密码 文件
在自己的 $HOME 目录下,执行命令:
|
1
2
|
gpg -o ~/.netrc.gpg -er yourname ~/.netrc注:执行完成后,可以删除明文密码文件 .netrc |
4. 设置用户的 Git 配置
在自己的 $HOME 目录下,执行命令:
|
1
2
3
4
5
|
#此方法会缓存用户名/密码,不需要每次都输入git config --global credential.helper 'store'#此方法需要每次都输入用户名/密码#git config --global credential.helper 'netrc -f ~/.netrc.gpg -d' |
此时可以编辑 .gitconfig 文件,填写更多信息:
|
1
2
3
4
5
6
7
8
|
[user] name = XXX email = xxx@xxx.com[core] excludesfile = /home/xxx/.gitignoreglobal[credential] helper = store #helper = netrc -f ~/.netrc.gpg -d |
5. 开始 GIT 环境
|
1
|
注:需要使用新版本Git(我使用的是2.2.2),同时将 git-credential-netrc 脚本拷贝到Git安装目录(libexec/git-core)
Linux下基于HTTP协议带用户认证的GIT开发环境设置的更多相关文章
- Linux下基于LDAP统一用户认证的研究
Linux下基于LDAP统一用户认证的研究 本文出自 "李晨光原创技术博客" 博客,谢绝转载!
- IdentityServer4 中文文档 -11- (快速入门)添加基于 OpenID Connect 的用户认证
IdentityServer4 中文文档 -11- (快速入门)添加基于 OpenID Connect 的用户认证 原文:http://docs.identityserver.io/en/releas ...
- linux下怎么卸载自带的JDK和安装想要的JDK
linux下怎么卸载自带的JDK和安装想要的JDK 安装linux系统后,系统有自带jdk的版本,因为系统中的有些软件需要使用此环境.但时候我们安装eclipse和tomcat的时候,使用此jdk ...
- 基于JWT标准的用户认证接口实现
前面的话 实现用户登录认证的方式常见的有两种:一种是基于 cookie 的认证,另外一种是基于 token 的认证 .本文以基于cookie的认证为参照,详细介绍JWT标准,并实现基于该标签的用户认证 ...
- CentOS 7 安装配置带用户认证的squid代理服务器
这里只简述搭建一个带用户认证的普通代理 一.安装 安装过程十分简便,只需要安装一下squid,一条命令搞定 yum install squid rpm -qa | grep squid squid-- ...
- linux下怎么删除名称带空格的文件
linux下怎么删除名称带空格的文件-rm 'mysql bin.000005' 用引号把文件名括起来 某些情况下会出现名称带空格的文件, 如果想要删除的话,直接用rm mysql bin.00000 ...
- Linux下useradd命令创建的用户不能登录的问题
Linux下useradd命令创建的用户不能登录的问题 问题: 用useradd命令新创建一个用户tester 密码pwdtest mkdir -p /home/tester(创建文件夹) user ...
- Linux下基于.NET5开发CAX应用
<<.NET5下的三维应用程序开发>>一文中介绍了如何在.NET5下使用AnyCAD开发应用程序.相比.NET4.x,.NET5一大进步便是可以跨平台,即可以在Linux.Ma ...
- linux下一个oracle11G DG建立(一个):准备环境
linux下一个oracle11G DG建立(一个):准备环境 周围环境 名称 主库 备库 主机名 bjsrv shsrv 软件版本号 RedHat Enterprise5.5.Oracle 11g ...
随机推荐
- 【uva1502/hdu4117-GRE Words】DP+线段树优化+AC自动机
这题我的代码在hdu上AC,在uva上WA. 题意:按顺序输入n个串以及它的权值di,要求在其中选取一些串,前一个必须是后一个的子串.问d值的和最大是多少. (1≤n≤2×10^4 ,串的总长度< ...
- 用Java编写你自己的简单HTTP服务器
http://blog.csdn.net/yanghua_kobe/article/details/7296156 原文不错. 服务器支持的并发连接数,就是要开多少个线程,每个线程里一个socket监 ...
- APM (应用性能管理)
在信息科学和系统控制领域,APM是用来监控和管理应用软件是否有效运行的.APM通过监测和分析应用的表现去保证软件应用的良好运行,APM已经商用. 基本定义 APM = Application Perf ...
- php ++a和a++
<?php$a=$b=5;$a+$b=$a++-++$b;echo $b;?> 输出-1
- Android实现透明的颜色效果
android Button或者ImageButton背景透明状态设置 设置Button或ImageButton的背景为透明或者半透明 半透明< Button android:backgroun ...
- SSIS -->> Data Type
SSIS和SQL SERVER, .NET数据类型的映射表
- __init__ 和 self
看代码 class A: def __init__(self, val): self.name = val def printName(self): print self.name a = A(&qu ...
- 习惯&感恩
A不喜欢吃鸡蛋,都给了B吃,刚开始B很感谢,久而久之便习惯了.习惯了,便理所当然了. 后来有一天,A将鸡蛋给了C,B就不爽了.她忘记了这个鸡蛋本来就是A的,A想给谁都可以. 为此,她们大吵一架,从此绝 ...
- win7下制作ubuntu系统安装启动盘和U盘安装ubuntu全过程
在我搞坏了两个系统之后,一切都得从头开始了,这回好了,电脑就是一台裸机了.没办法,重新下win7吧.这个要先做一个win7的启动盘,然后再安装,只能说我技术不行,没能把win7搞定.让大神给装的win ...
- [HDOJ2639]Bone Collector II(第k优01背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2639 题意:求01背包的第k优解 dp(i, j)表示容量为j时的i优解 对于第二维的操作和01背包几 ...