在进行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. 向cmd中添加字体的方法

    首先下载字体到C:\Windows\Fonts中,然后参考 http://blog.csdn.net/bbirdsky/article/details/38495661 中所讲的方法进行添加.

  2. Oracle 在字符串中输入单引号或特殊字符

    -- Start 字符串是用单引号括起来的,如果想在字符串中输入单引号该怎么办呢?有两种方法. 方法一:是用两个单引号代表一个单引号 SELECT 'I''m Shangbo' FROM DUAL; ...

  3. SpringBoot2使用WebFlux函数式编程

    本文只是简单使用SpringBoot2使用WebFlux的函数式编程简单使用,后续会继续写关于Webflux相关的文章. 最近一直在研究WebFlux,后续会陆续出一些相关的文章. 首先看一下Srpi ...

  4. Java笔记(十八)同步和协作工具类

    同步和协作工具类 一.读写锁ReentrantReadWriteLock ReadWriteLock接口的定义为: public interface ReadWriteLock { Lock read ...

  5. javaScript中with函数用法实例分析

    javaScript 中的 with 函数 ,即所谓的with 语句,可以方便地用来引用某个特定对象中已有的属性,但是不能用来给对象添加属性,要给对象创建新的属性,必须明确地引用该对象. with 函 ...

  6. C语言基础二(敲打键盘、寻找资料)

    看过很多资料的人,估计发觉了什么,我上篇的基础一其中一个最致命的错误,没有加return 0; 为什么不加,说真的,我留个坑,所以跳跃性的直接说到函数是如何运用的. 上章说到main就是主入口,根据m ...

  7. 移动游戏ui设计(二)--游戏世界的基本法则

    游戏世界的基本法则游戏体验的层次感很重要,制作一款趣味性强,宗旨明确的游戏并不简单. l  风格统一性:要先明白游戏的game genres,因为游戏类型与风格密切联系.常见游戏类型有:动作类.冒险类 ...

  8. Creator 插件商店:高品质插件

    资源处理类 资源引用查询 功能:将指定资源拖到目标资源框内并列出所有需要用到该资源的场景以及所在节点 点评:检查一下是否有冗余资源混进来了,尽量减少包体积呀. TexturePacker 碎图提取 功 ...

  9. MD5+Salt值

    生成Salt值 package util; import java.util.Random; public class Salt { public String getSalt() { Random ...

  10. c# js 删除table原行数据

    function addtreetotable(obj){ var table1 =  document.getElementById("Table1"); var hang =  ...