git的ssh 详解

240 阅读3分钟

一,是什么

SSH是一种安全认证协议,Git是一个版本管理工具。

SSH 为 Secure Shell(安全外壳协议)的缩写,由 IETF 的网络小组(Network Working Group)所制定。

SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。

利用SSH协议可以有效防止远程管理过程中的信息泄露问题,弥补网络中的漏洞。

目前存在SSHv1和SSHv2两个版本,二者互不兼容。相比SSHv1,SSHv2能够提供更高的性能和安全性。

SSH协议基于客户端/服务器结构,客户端可以使用SSH协议登录到服务器,进行远程访问或文件传输等操作。

image.png

二,基于密匙的安全验证

使用ssh协议通信时,推荐使用基于密钥的验证方式。你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。

三,对称加密与非对称加密区别是什么?

(1)对称加密

加密(encryption)与解密(decryption)用的是同样的密钥(secret key)。效率高,对称加密的一大缺点是密钥的管理与分配,在发送密钥的过程中,密钥有很大的风险会被黑客们拦截。现实中通常的做法是将对称加密的密钥进行非对称加密,然后传送给需要它的人。

(2)非对称加密

非对称加密为数据的加密与解密提供了一个非常安全的方法,它使用了一对密钥,公钥(public key)和私钥(private key)。私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。目前最常用的非对称加密算法是RSA 算法。虽然非对称加密很安全,但是和对称加密比起来,它非常的慢,所以我们还是要用对称加密来传送消息,但对称加密所使用的密钥我们可以通过非对称加密的方式发送出去。

四,如何生成 ssh 密钥对?

ssh-keygen -t rsa -C "xxx@xxx.com"

cd ~/.ssh

cat id_rsa.pub

然后复制里面的内容加到 服务端到 ssh key 中

验证是否成功

ssh -T git@github.com