背景:服务器是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

  • $ ssh-keygen -t rsa -C “xxx.mail@xxx.com” 创建秘钥命令。

==============================================================秘钥在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 地址:git@XXXXX.git
    • 3.2.2.从 SourceTree 里面新建一个地址,这时候你发现你本地已经可以下载远程的 git 代码了

4.解释:

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

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

  1.2.私钥:要自己保存。

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

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

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

Git 生成SSH Key的更多相关文章

  1. git生成ssh key及本地解决多个ssh key的问题

    git生成ssh key及本地解决多个ssh key的问题 ssh是一种网络协议,用于计算机之间的加密登录.ssh原理及应用可参考: SSH原理与运用(一):远程登录 生成ssh key步骤 这里以配 ...

  2. Git - 生成ssh key步骤以及如何clone所有的远程分支

    https://www.cnblogs.com/gongyuhonglou/p/6922721.html 2. 生成ssh key $ ssh-keygen -t rsa -C “邮箱”按3个回车,密 ...

  3. git生成ssh key和多账号支持

    git配置ssh 1.首先设置git的全局user name和email $ git config --global user.name "ygtzz"$ git config - ...

  4. Git - 生成 ssh key for Mac

    终端: cd ~/ .ssh 生成 SSH KEY ssh-keygen -t rsa -C 你的油箱 前往以下目录找到生成好的 SSH KEY /Users/wzz/.ssh/id_rsa.pub

  5. git生成ssh key步骤并添加到github网站

    0: 查看是否已经有了ssh密钥 执行命令:cd ~/.ssh 如果没有密钥则不会有此文件夹,有则备份删除 1:使用 Git Bash生成新的ssh key ssh-keygen -t rsa -C  ...

  6. ubuntu git生成ssh key (公钥私钥)配置github或者码云

    Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置. github的SSH配置如下: 设置Git的user name和email: git confi ...

  7. git生成ssh key 避免每次push都要输入账号密码

    第一步:生成public/private rsa key pair在命令行中输入ssh-keygen -t rsa -C "your_email@example.com" 默认在这 ...

  8. git生成SSH key

    使用https:// 提交GitHub上的私有项目时,需要每次都输入帐号和密码,比较麻烦. 比如我自己的笔记本,在push的时候我可不想每次都输入这些. 那就使用SSH吧,这个需要在GitHub的帐号 ...

  9. GIT生成 SSH Key步骤

    //设置user.name和email 提交到git之后会显示用户名(在随意一个目录打开git-bash执行就行)Administrator@DESKTOP-BP3H0HS MINGW64 /d/mi ...

随机推荐

  1. VueJs 源码分析 ---(二)实力化生命周期,以及解析模版和监听数据变化

    Vue 源码第二步 当前 Vue 的版本 V2.2.2 生命周期 相关介绍 我们可以从 setp1 中 去看到那张 vue 的生命周期图中看到,vue 的生命周期钩子. 具体的钩子时干什么的? 以及在 ...

  2. Connection 对象简介 方法解读 JDBC简介(四)

    通过驱动管理器DriverManager的getConnection方法,可以创建到指定URL的连接     Connection conn = DriverManager.getConnection ...

  3. TFS2012服务端环境搭建

    微软提供的TFS(Team Foundation Server)是为开发者团队提供的一个集 代码仓库.任务管理.文档管理等众多强大功能的服务平台. 1.TFS依赖项 目前TFS已经出到了2018版本, ...

  4. ASP.NET MVC ETag & Cache等优化方法

    背景 最近有一个项目是用SmartAdmin + Jquery + EasyUI 一个ASP.NET MVC5的项目,一直存在一个性能问题,加载速度比较慢,第一次加载需要(在没有cache的情况下)需 ...

  5. CAN总线学习记录之四:位定时与同步

    一.位定时 1.1 比特率和波特率 1)位速率:又叫做比特率(bit rata).信息传输率,表示的是单位时间内,总线上传输的信息量,即每秒能够传输的二进制位的数量,单位是bit per second ...

  6. DSAPI 获取实时统计信息CPU/内存/硬盘/网络

    有时,我们需要获取当前计算机中CPU.内存.硬盘.网络等实时信息,如下图:\ 要实现上述几项信息的获取,通常需要使用Timer控件来间隔获取,以便刷新最新的数据. 本示例中,放一个Timer控件,放一 ...

  7. [PHP] 按位与& 或| 异或^ 的日常使用

    按位与:0&0=0; 0&1=0; 1&0=0; 1&1=1;按位或:0|0=0: 0|1=1: 1|0=1: 1|1=1;按位异或,在或的基础上1 1也为0:0^0= ...

  8. 解决java web中safari浏览器下载后文件中文乱码问题

    解决java web中safari浏览器下载后文件中文乱码问题 String fileName = "测试文件.doc"; String userAgent = request.g ...

  9. Android开发——EditText的属性使用

    最近使用的EditText控件,有些属性不太清楚,做一下笔记   判断EditText中内容是否为空 EditText多行显示 android:inputType="textMultiLin ...

  10. 前端加密传输 crypto-js AES 加密和解密

    配置: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...