git clone的两种方式以及浅谈加密(一)

一. 引言

今天使用git clone的时候因为没有配置ssh 可是使用了ssh的clone命令,出了点问题。仔细研究了一下,仍是挺有意思的,特地记录下来能给你们带来一些收获。html

二. git clone的两种方式.

git clone分为两种方式,一种是经过ssh,还有一种是经过http(s)。前端

1. ssh

clipboard.png

在clone的时候能够选择SSH,首先在命令行输入git

ssh-keygen -t rsa  -C “email”
//这里 -c是建立别名,通常网站都喜欢用邮箱

一路点击肯定,在本地生成.ssh文件,里面有id_rsa(私钥) id_rsa.pub(公钥),将公钥上传到github上就能够直接免密与github进行文件传输了github

// 本地存在.ssh文件后
// 终端输入
 $ cd ~/.ssh/
 $ cat id_rsa.pub
 $ ssh-rsa xxxxxxxxxxxxxxxxxxx yourEmail
// 复制上面出现的内容

在gitlab(github)-->我的帐户-->setting-->ssh 将刚复制的公钥粘贴
此时就完成了ssh设置,再clone就是免密的啦。算法

这里要提心一下,这时候clone的格式必定是 git clone git@xxxxxxxxxxsegmentfault

2. HTTP

HTTP的方式比较简单,就是 git clone 给定的url,而后输入本身在gitlab(github)上相应的帐号就好了。
clipboard.png安全

3. ssh与HTTP方式的比较

想要比较他们之间的优缺点,首先要搞清楚为何会这么设计。
我我的认为,项目通常分为两类,一类是团队(我的)的项目,一类是开源的项目。
团队(我的)项目,具备私有性。同时拉或者推为了方便都应该不须要验证。这就须要保证数据在传输中的私有与可靠。因此使用ssh协议(以非对称加密实现身份验证)。
开源项目,具有公有特性。一方面若是每一个参与者的数据的拉取都进行加密解密的话,代价将会很是大。另一个方面,对于众多提交者,代码应该由管理者去审核是否merge,同时代码也没有必要保持传输过程当中的私有可靠。因此能够采用HTTP明文传输或者HTTPS也能够。服务器

三. 加密

在密码学中,加密(英语:Encryption)是将明文信息改变为难以读取的密文内容,使之不可读的过程。只有拥有解密方法的对象,经由解密过程,才能将密文还原为正常可读的内容。

具体在前端中你至少要明白下面几个概念:
公钥、私钥、RSA、数字证书、https与http的关系、TLS与SSL
我将在本篇文章和下篇文章为你们一一道来网络

1. 对称加密

对称加密很简单,就是明文通过密钥转化成密文,假若我知道密钥和密文,我也能够推出明文,典型的像是摩尔斯码。因此在谍战片中,咱们常常看到特务找密码本,就是由于有了密码本就能够破译密文了。ssh

2. 非对称加密(RSA)

在对称加密中,因为是直接传递的密钥,密钥容易被人窃取致使信息泄漏,

人们认识到,加密和解密可使用不一样的规则,只要这两种规则之间存在某种对应关系便可,这样就避免了直接传递密钥。这种加密方式就叫作非对称加密。

1977年,三位数学家Rivest、Shamir 和 Adleman 设计了一种算法,能够实现非对称加密。这种算法用他们三我的的名字命名,叫作RSA算法。从那时直到如今,RSA算法一直是最广为使用的"非对称加密算法"。绝不夸张地说,只要有计算机网络的地方,就有RSA算法。

在RSA加密算法中,公钥用于对数据进行加密,私钥用于对数据进行解密
在RSA签名算法中,私钥用于对数据进行签名,公钥用于对签名进行验证。

3. ssh

ssh是一个安全协议,以非对称加密实现身份验证。,本机产生id_rsa(私钥) id_rsa.pub(公钥),将公钥上传到github上。pull的时候公钥用于对数据进行加密,私钥用于对数据进行解密,push的时候私钥用于对数据进行签名,公钥用于对签名进行验证。

4. 拓展

这里再介绍一个部署项目的方法,好比咱们开发项目,把项目托管到gitlab上,而后当咱们部署项目的时候将本地文件上传到服务器上。说实话这一步仍是比较麻烦的。咱们其实可让gitlab和咱们线上服务器经过ssh链接,当gitlab代码更新到最新版本的时候,服务器上我只须要运行git pull 就能够自动完成文件的拉取、更新以及项目的部署了。

总结

本文从git进行文件传输的两种方式出发,介绍了部分加密的概念,但愿对你们有所帮助。后面将像你们介绍剩余的加密方面的概念

参考

加密-维基百科
RSA算法原理(一)
白话解释 对称加密算法 VS 非对称加密算法

相关文章
相关标签/搜索