SSH之于Git的原理
- Git提交时有Https和SSH两种验证方式,Https的方式需要帐号和密码比较好理解,不过它需要在每次提交时输入帐号和密码,有点麻烦;而SSH的功能可以粗暴的理解为记住帐号密码,不过对这个过程有人会有点疑惑。首先,我们用SSH命令生成一个公钥-私钥对,我们会把公钥添加到Git的服务器,把私钥放在本地。提交文件的时候Git服务器会用公钥和客户端提交私钥做验证(具体细节不究),如果验证通过则提交成功,那么我们在把公钥添加到服务器的时候肯定是需要登录Git服务器的,这个过程其实可以理解为帐号和密码托管给SSH了,所以也是相当于输入了帐号密码,但是由SSH帮你记住了。这么理解是可以,但是SSH的意义不仅仅是这样,关于SSH的更详细内容看客可以自行再了解。
生成SSH-KEY
- 打开命令行、终端,用命令进入到你要保存SSH-KEY文件的文件夹,我们先用命令测试下终端是否支持SSH:
ssh -V - 如果你的终端支持SSH,那么你可能看到类似如下的版本信息:
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017 - 生成秘钥
ssh-keygen -t rsa -C "qilim@qq.com" - 案例:
[root@localhost ~]# ssh-keygen -t rsa -C "xxxxx@qq.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /root/myssh/id_rsa_github
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/myssh/id_rsa_github.
Your public key has been saved in /root/myssh/id_rsa_github.pub.
The key fingerprint is:
SHA256:rvD7QF1atcJjMUVjjP+48Hk2fS3MnRLjQV+8vQQS8Wo xxxxx@qq.com
The key's randomart image is:
+---[RSA 2048]----+
| o*B |
| ..*oo |
| B.o. . |
| . = +oo o|
| . S Eooo +|
| . . o .+.+.|
| . . . o.==o+|
| o o +oBo=|
| +o. o.o.|
+----[SHA256]-----+
单个Git帐号的配置——全局Git配置
-
sh-keygen命令生成SSH-KEY密钥对文件时需要输入文件名称[默认:id_rsa]
-
SSH-KEY生成了,你会在你指定的文件夹会看到两个文件

本文详述了SSH在Git中的作用,如何生成SSH-KEY,以及单个和多个Git账号的SSH配置步骤。包括全局与局部Git配置,SSH-KEY的添加,SSH-Agent的使用,并提供了常见错误的解决方法。
最低0.47元/天 解锁文章
2802

被折叠的 条评论
为什么被折叠?



