1.使用 git 客户的生成公私钥:id_rsa、id_rsa.pub

1.1设置Git的user name和email:

$ git config --global user.name "xxx"
$ git config --global user.email "xxx.mail@xxx.com"

1.2.生成SSH密钥过程:
1.2.1.检查是不是已经存在密钥(能进去说明已经存在,就删掉文件夹,重新创建):

cd ~/.ssh

1.3.生成 SSH 密钥:

$ ssh-keygen -t rsa -C "xxx.mail@xxx.com"
按3个回车,密码为空。

1.4.文件存放位置 ~/.ssh,如果是window的话就在:C:\Users\Administrator.ssh 下面,当然如果你不是 Administrator 用户的话,需要换成对应的用户。

2.设置 SourceTree 的 SSH客户端

配置SourceTree 的 SSH 客户的为:OpenSSH

1.1.工具->选项

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

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

3.1.比如你的 git 服务是 github,那么你需要在 https://github.com/settings/keys 里面添加 SSH key ,粘贴id_rsa.pub 到 下面的粘贴板,title随便命名。

3.2测试

$ ssh git@github.com
PTY allocation request failed on channel
Hi piwang1994! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

4.SourceTree 来下载 git 项目

  • 复制你的 git 地址:https://github.com/piwang1994/big12
  • 从 SourceTree 里面新建一个地址,这时候你发现你本地已经可以下载远程的 git 代码

结果:

5.补充说明

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

  • 1.1公钥:用于向外发布,任何人都能获取。
  • 1.2.私钥:要自己保存,切勿给别人

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

  • 2.1.客户端把自己的公钥存放到要链接的远程主机上(相当于我们把自己的 id_rsa.pub 存放到 git 服务器上)
  • 2.2.客户端要链接远程主机的时候,远程主机会向客户的发送一条随机的字符串,客户的收到字符串之后使用自己的私钥对字符串加密然后发送到远程主机,远程主机根据自己存放的公钥对这个字符串进行解密,如果解密成功证明客户端是可信的,直接允许登录,不在要求登录。

最新文章

  1. GBDT的基本原理
  2. codeforces 727F. Polycarp's problems
  3. Eclipse下Android开发错误之Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace
  4. Arcgis10.2 破解注意问题
  5. iOS— UIScrollView和 UIPageControl之间的那些事
  6. ASP.NET之AreaRegistration
  7. 2017web前端面试总结
  8. 【Netty】源码分析目录
  9. Xamarin 开发Android应用简易教程(1)
  10. Django框架基础之Form组件
  11. hdu4612 Warm up 缩点+树的直径
  12. python 06函数
  13. C#系列之{流和序列化}
  14. asp.net操作cookie类,包含datatable批量存入cookie
  15. linux常用命令:wc 命令
  16. Linux中-POSIX 线程详解
  17. e652. Getting the Font Faces for a Font Family
  18. vim 颜色主题设置
  19. https填坑之旅
  20. Centos Nodejs

热门文章

  1. CPU性能监测介绍
  2. gcc编译器创建和使用静态库、动态库
  3. git 新建项目提交本地项目代码
  4. 【github】git常用命令和node项目
  5. LeetCode.922-按奇偶排序数组 II(Sort Array By Parity II)
  6. MySQL 服务正在启动 MySQL 服务无法启动解决途径
  7. 结构体封装高精度 大整数BigInt
  8. AspNet Core Swagger4.0 生成请求model描述
  9. windows VS2013中使用<pthread.h>
  10. 洛谷 P1072 Hankson 的趣味题 题解