Git 生成SSH Key

Posted qtiger

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git 生成SSH Key相关的知识,希望对你有一定的参考价值。

背景:服务器是LINUX系统(centos7),使用GitLab管理git代码库。各个客户端通过sourcetree 工具,采用SSH获取、提交代码。使用SSH的方式需要公钥和私钥。下面介绍秘钥的生成方式和秘钥在sourcetree、gitlab上的配置。

===================================================================秘钥的生成方式========================================================

方法一、Git GUI生成 ssh key 方法

1.打开Git Gui, 选择【help】,点击【Show SSH KEY】

技术分享图片

 

 

2.由于之前没有配置过SSH KEY,此时会显示没有任何SSH 公钥

技术分享图片

 

 

3.点击右上角【Generate key】,此时会弹出一个界面,要求你输入passphrase

技术分享图片

 

 

4.然后再次确认输入passpahrase .

5.此时就会生成一个SSH Key

技术分享图片

 

 

6.如果以后需要查看SSH Key。此时可以在Git Gui界面上点击【help】-》【Show SSH KEY】,查看此次生成的SSH Key。

 

方法二、git命令添加 ssh key 方法 

1、打开Git Bash

技术分享图片

 

 ==============================================================秘钥在sourcetree和gitlab如何配置===============================================

2.设置 SourceTree 的 SSH客户端

  • 1.配置SourceTree 的 SSH 客户的为:OpenSSH 
    • 1.1.工具->选项 
      技术分享图片

       


       

    • 1.2.设置 OpenSSH,这时候,SSH 密钥这一栏自然会去选择当前用户下的 .ssh 目录下的 id_rsa 这个私钥: 

      技术分享图片

       

2.添加 ~/.ssh/id_rsa.pub 文件内容到 git 服务器里面去

  • 3.1.比如你的 git 代码库管理工具是 GitLab,那么你需要在 https://github.com/settings/keys (如果公司代码放在了自己的服务器上,那么地址会不同,以公司为准)里面添加 SSH key 。
    技术分享图片

     

  • 3.2.SourceTree 来下载 git 项目 
    • 3.2.1.复制你的 git 地址:[email protected]
    • 技术分享图片

       

    • 3.2.2.从 SourceTree 里面新建一个地址,这时候你发现你本地已经可以下载远程的 git 代码了 
    • 技术分享图片

       

4.解释:

1.ssh-keygen 是公钥私钥的非对称加密方式: 

  1.1.公钥:用于向外发布,任何人都能获取。

  1.2.私钥:要自己保存。

2.公钥私钥加解密的原理 

  2.1.客户端把自己的公钥存放到要链接的远程主机上

  • 2.2.客户端要链接远程主机的时候,远程主机会向客户的发送一条随机的字符串,客户的收到字符串之后使用自己的私钥对字符串加密然后发送到远程主机,远程主机根据自己存放的公钥对这个字符串进行解密,如果解密成功证明客户端是可信的。







以上是关于Git 生成SSH Key的主要内容,如果未能解决你的问题,请参考以下文章

Git SSH Key 生成步骤

管理Git生成多个ssh key及报错Bad configuration option解决方法-2018-10-06

管理Git生成多个ssh key及报错Bad configuration option解决方法-2018-10-06

git 生成ssh key gitlab 增加 ssh key

怎么用ssh生成key而不用每次都输入密码

git SSH Key 生成步骤