在进行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)的更多相关文章

  1. Git秘钥生成以及Gitlab配置

    安装Git:详见http://www.cnblogs.com/xiuxingzhe/p/9300905.html 开通gitlab(开通需要咨询所在公司的gitlab管理员)账号后,本地Git仓库和g ...

  2. git秘钥生成

    #修改git配置 vi .gitconfig #生成秘钥 ssh-keygen -t rsa -C "邮箱地址" #查看秘钥 cat id_rsa.pub

  3. 配置使用 git 秘钥连接 GitHub

    配置使用 git 秘钥连接 GitHub 在Linux下部署Git环境 1.安装Git. 使用命令安装 git . sudo apt-get install git 2.创建一个 Github 账号 ...

  4. Ubuntu ssh秘钥生成

    一,秘钥生成传送 ssh-keygen 选项: -b:指定密钥长度: -e:读取openssh的私钥或者公钥文件: -C:添加注释: -f:指定用来保存密钥的文件名: -i:读取未加密的ssh-v2兼 ...

  5. git 秘钥的生成

    在命令查看自己的秘钥还是公钥 cat .ssh/id_rsa.pub/cat .ssh/id_rsa

  6. CenOS7秘钥双向验证的配置

    配置密钥对的双向配置 HOST1配置: root下编辑/etc/ssh/sshd_config  RSAAuthentication  yes              //启用RSA算法 Pubke ...

  7. 自己实现简单的RSA秘钥生成与加解密(Java )

    最近在学习PKI,顺便接触了一些加密算法.对RSA着重研究了一下,自己也写了一个简单的实现RSA算法的Demo,包括公.私钥生成,加解密的实现.虽然比较简单,但是也大概囊括了RSA加解密的核心思想与流 ...

  8. day02 秘钥生成,免密访问命令

    hadoop免密登陆: 生成秘钥: ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa cat ~/.ssh/id_dsa.pub >> ~/.ssh/aut ...

  9. 安卓秘钥生成命令以及SHA1值获取办法

    切换到秘钥所在目录,例如:cd C:\Program Files\Java\jdk1.8.0_171\bin 执行命令:keytool -genkey -alias demo.keystore -ke ...

随机推荐

  1. P2709 小B的询问-莫队

    思路 :依旧是 分块 块内按照 r 排序 不同块按照 L排序,处理好增加 删除对结果的影响即可. #include<bits/stdc++.h> using namespace std; ...

  2. 如何基于asp.net core的Identity框架在mysql上作身份验证处理

    首先了解这个概念,我一开始也是理解和掌握基本的概念,再去做程序的开发.Identity框架是微软自己提供,基于.net core平台,可拓展.轻量 级.面向多个数据库的身份验证框架.IdentityS ...

  3. MySQL安装目录修改

  4. XamarinSQLite教程在Xamarin.Android项目中使用数据库

    XamarinSQLite教程在Xamarin.Android项目中使用数据库 在Xamarin.Android项目中使用预设数据库的具体操作步骤如下: (1)创建一个Xamarin.Android项 ...

  5. POJ1742----Coins

    背包专题:http://www.cnblogs.com/qq188380780/p/6409474.html //多重背包 #include<cstdio> ],a[][]; int Ro ...

  6. python正则表达式(四)

    re模块的高级用法 search 需求:匹配出文章阅读的次数 #coding=utf-8 import re ret = re.search(r"\d+", "阅读次数为 ...

  7. swal() 弹出层的用法

    swal()方法是一个提示框: swal({ title: "", text: "请扫描用户手机上的付款码", type: "input", ...

  8. PAT基础6-10

    6-10 阶乘计算升级版 (20 分) 本题要求实现一个打印非负整数阶乘的函数. 函数接口定义: void Print_Factorial ( const int N ); 其中N是用户传入的参数,其 ...

  9. linux命令之free篇

    作业二: 1.free命令查看内存 [root@localhost 桌面]# free total used free shared buffers cachedMem: 1003432 899760 ...

  10. ES6_入门(2)_const命令

    1. //只读常量,一旦声明,常量的值就不能改变. const PI=3.1415; console.log(PI); PI=6;//报错:es6.html:186 Uncaught TypeErro ...