Git秘钥生成以及Gitlab配置(附以下问题解决方法:Key is invalid Fingerprint cannot be generated)
在进行Git密钥配置时,总是提示:
“The form contains the following errors:
Key is invalid
Fingerprint cannot be generated”
如下图:

查找了不少资料,大部分说粘贴的字符与实际生成的不一致,例如windows环境下,如果有换行习惯带"\r\n",去除即可。几次尝试都不可以。
最后发现是粘贴的内容有问题,只黏贴了密钥,没有前贴前面的“ssh-rsa” 和后面的邮箱。
谨记:要粘贴pub密钥里面的所有内容(同时注意粘贴不要带换行符)。
附以下内容的参考链接:http://www.cnblogs.com/xiuxingzhe/p/9303278.html
安装Git:详见http://www.cnblogs.com/xiuxingzhe/p/9300905.html
开通gitlab(开通需要咨询所在公司的gitlab管理员)账号后,本地Git仓库和gitlab仓库仍然不能传输项目,原因是要通过SSH加密才能传输,所以需要让gitlab认证本地的SSH Key
认证之前,则先使用Git生成SSH Key
1 Git生成秘钥
1.1 确认本地秘钥
SSH 秘钥默认储存在账户的主目录下的 ~/.ssh 目录
如:C:\Users\BF100400\.ssh\
查看是否包含id_rsa和id_rsa.pub(或者是id_dsa和id_dsa.pub之类成对的文件),有.pub 后缀的文件就是公钥,另一个文件则是密钥。
如果有这两个文件,则跳过1.2;如果没有这两个文件,甚至.ssh目录也没有,则需要用ssh-keygen 来创建
1.2 生成秘钥信息
- 在.ssh 目录下右键打开Git Bash(.ssh目录不存在,手动创建)

- 生成秘钥:ssh-keygen -t rsa -C "your_email@youremail.com" ,直接Enter就行,然后会提示输入密码(可输可不输)
说明:命令中的email,就是gitlab中的账号,需要保持一致

- 执行完成之后,在.ssh 目录下就会生成秘钥文件

2 gitlab秘钥添加
笔者当前所在公司使用的gitlab作为代码管理仓库平台,所以下面是gitlab为例说明如何进行秘钥添加,如果个人研究或学习使用的是github,方法同下
2.1登录gitlab
使用申请的gitlab账号登录
确保登录成功
2.2 添加秘钥
- 在搜索框中搜索:SSH Keys

- 点击 Add SSH Keys

- 拷贝公钥文件(即1.2中生成的id_rsa.pub)中的信息到key输入框中,title可以随便起,见名知意即可。然后点击Add Keys

至此,git及gitlab相关配置已经全部完成,接下来可以使用git从gitlab上克隆代码来测试相关安装和配置的正确性
3 Git示例
注意:克隆代码之前确保有相关的项目代码权限(master、developer、reporter),如无权限,请求项目具有master权限的同事帮忙分配权限
- 这里以verify-center项目为例(有相关权限的项目,登录gitlab后,首页右侧会全部以列表形式展示),点击verify-center获取SSH 链接地址

- 在本地目标下载目录下,右键-->Git Bash Here
- 输入命令:git clone git@gitlab.baofoo.net:clearing/verify-center.git
- 首次拉取代码时,需要确认秘钥信息,输入yes即可

- 确认项目已从gitlab上克隆到本地

项目拉取完成,可以打开使用了
Git秘钥生成以及Gitlab配置(附以下问题解决方法:Key is invalid Fingerprint cannot be generated)的更多相关文章
- Git秘钥生成以及Gitlab配置
安装Git:详见http://www.cnblogs.com/xiuxingzhe/p/9300905.html 开通gitlab(开通需要咨询所在公司的gitlab管理员)账号后,本地Git仓库和g ...
- git秘钥生成
#修改git配置 vi .gitconfig #生成秘钥 ssh-keygen -t rsa -C "邮箱地址" #查看秘钥 cat id_rsa.pub
- 配置使用 git 秘钥连接 GitHub
配置使用 git 秘钥连接 GitHub 在Linux下部署Git环境 1.安装Git. 使用命令安装 git . sudo apt-get install git 2.创建一个 Github 账号 ...
- Ubuntu ssh秘钥生成
一,秘钥生成传送 ssh-keygen 选项: -b:指定密钥长度: -e:读取openssh的私钥或者公钥文件: -C:添加注释: -f:指定用来保存密钥的文件名: -i:读取未加密的ssh-v2兼 ...
- git 秘钥的生成
在命令查看自己的秘钥还是公钥 cat .ssh/id_rsa.pub/cat .ssh/id_rsa
- CenOS7秘钥双向验证的配置
配置密钥对的双向配置 HOST1配置: root下编辑/etc/ssh/sshd_config RSAAuthentication yes //启用RSA算法 Pubke ...
- 自己实现简单的RSA秘钥生成与加解密(Java )
最近在学习PKI,顺便接触了一些加密算法.对RSA着重研究了一下,自己也写了一个简单的实现RSA算法的Demo,包括公.私钥生成,加解密的实现.虽然比较简单,但是也大概囊括了RSA加解密的核心思想与流 ...
- day02 秘钥生成,免密访问命令
hadoop免密登陆: 生成秘钥: ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa cat ~/.ssh/id_dsa.pub >> ~/.ssh/aut ...
- 安卓秘钥生成命令以及SHA1值获取办法
切换到秘钥所在目录,例如:cd C:\Program Files\Java\jdk1.8.0_171\bin 执行命令:keytool -genkey -alias demo.keystore -ke ...
随机推荐
- [OC] 杂项
使用JSONModel的一个好处是,可以防止 [数据是NSNULL的时候,OC无法直接通过if(XX)来判空 ]引起的错误. 字符串与字符串对比不要使用 str1 != str2 这种写法,而用 ![ ...
- H5与Native交互之JSBridge技术
一.原理篇 下面分别介绍IOS和Android与Javascript的底层交互原理 IOS 在讲解原理之前,首先来了解下iOS的UIWebView组件,先来看一下苹果官方的介绍: You can us ...
- JavaScript基础笔记(三) 引用类型
引用类型 引用类型的值(对象)是引用类型的一个实例. 一.Object类型 创建Object实例: //方法一:通过new操作符创建 var a = new Object(); a.neme = &q ...
- 2028 ACM Lowest Common Multiple Plus
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2028 思路:最一想到的就是暴力求解,从1开始一直到最后的答案,一直来除以给出的数列的数,直到余数为0:当然 ...
- go学习资源
教程 GO 命令教程 Go示例学 Book <Go Web 编程> <Go入门指南> <深入解析Go> 应该是go的进阶,等熟悉go之后再来看 <Go语言圣经 ...
- 潭州课堂25班:Ph201805201 django 项目 第二十五课 文章多级评论前后台实现 (课堂笔记)
添加新闻评论功能 1.分析 业务处理流程: 判断前端传的新闻id是否为空,是否为整数.是否不存在 判断评论的内容是否为空 判断是否有父评论,父评论的id是否与新闻id匹配 判断用户是否登录 保存新闻评 ...
- HTML(三)
html图像.绝对路径和相对路径 html图像 <img>标签可以在网页上插入一张图片,它是独立使用的标签,通过“src”属性定义图片的地址,通过“alt”属性定义图片加载失败时显示的文字 ...
- Java中的RASP实现
RSAP RASP是Gartner公司提出的一个概念,称:程序不应该依赖于外部组件进行运行时保护,而应该自身拥有运行时环境保护机制: RASP就是运行时应用自我保护(Runtime applicati ...
- 4、css属性操作
前面说的主要是css的使用规则和选择器等,这篇主要讲解css的具体使用. 本篇导航: css text 背景属性 边框属性 列表属性 dispaly属性 外边距(margine)和内边距(paddin ...
- 树莓派raspberry pi配置无线路由器AP
raspi-config进入系统配置面板 进行 Expand Filesystem 扩展文件系统否则备份系统的时候备份文件会急速膨胀. (1)配置网络环境nano /etc/network/inte ...