赞
踩
Git提交时有Https和SSH两种验证方式,Https的方式需要帐号和密码比较好理解,不过它需要在每次提交时输入帐号和密码,有点麻烦;而SSH的功能可以粗暴的理解为记住帐号密码,不过对这个过程有人会有点疑惑。首先,我们用SSH命令生成一个公钥-私钥对,我们会把公钥添加到Git的服务器,把私钥放在本地。提交文件的时候Git服务器会用公钥和客户端提交私钥做验证(具体细节不究),如果验证通过则提交成功,那么我们在把公钥添加到服务器的时候肯定是需要登录Git服务器的,这个过程其实可以理解为帐号和密码托管给SSH了,所以也是相当于输入了帐号密码,但是由SSH帮你记住了。这么理解是可以,但是SSH的意义不仅仅是这样,关于SSH的更详细内容看客可以自行再了解。
————————————————
版权声明:本文为CSDN博主「严振杰」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接: https:// blog.csdn.net/yanzhenji e1003/java/article/details/69487932
终端可以查看详细的手册,大概1000行。懒得看跳过吧。用到再去查。
man ssh
GitLab有教程,你也可以看这两个教程。下面进入正题
⌘+空格 输入终端或者terminal
输入
ssh-keygen -t ed25519 -C "email@example.com"
email@example.com部分改为你的gitlab账号邮箱
默认会存储在当前用户目录下的.ssh文件夹
来自wikiPedia
延伸阅读:
一场椭圆曲线的寻根问祖之旅
http:// ed25519.cr.yp.to/Ed2551 9 是一个数字签名算法,签名和验证的性能都极高, 一个4核2.4GHz 的 Westmere cpu,每秒可以验证 71000 个签名,安全性极高,等价于RSA约3000-bit。签名过程不依赖随机数生成器,不依赖hash函数的防碰撞性,没有时间通道攻击的问题,并且签名很小,只有64字节,公钥也很小,只有32字节。 部署情 况: http:// ianix.com/pub/ed25519-d eployment.html
————————————————
版权声明:本文为CSDN博主「老杨_QQ122209017」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接: https:// blog.csdn.net/sinat_340 70003/java/article/details/79462557
ed25519加密解密很快,生成时间短而且安全性更高,rsa则加密解密稍慢,生成时间长,安全性没有ed25519高,只是rsa基本都是默认,所以用的人更多,但是建议转换为ed25519,网站软件现在基本都支持了.
但也是有漏洞,你可以参阅
Ed25519/EdDSA 签名算法导致的密钥泄露的漏洞研究
下来让你设置密钥密码,可以直接回车为空就行
生成完成
这时候打开.ssh文件夹你就可以看到公钥私钥对了
或者直接在终端中查看
cd ~/.ssh ls -Al
将公钥拷贝至剪贴板
pbcopy < ~/.ssh/id_ed25519.pub
pbcopy, pbpaste - provide copying and pasting to the pasteboard (the Clipboard) from command line
回到GitLab ssh配置页面,直接粘贴
标题默认是以你的邮箱作为标题,你可以自行决定修改与否,只是用来显示以示区分
然后点击添加,即可完成公钥在项目的配置。
正常情况下,到此已经可以通过ssh克隆项目了。
如果不行请往下看
编辑.ssh下的config
文件的内容:
Host 192.168.14.155 HostName 192.168.14.155 User example@foxmail.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_ed25519
将example@foxmail.com改为你的gitlab账户邮箱。
还有更省事的方式,直接终端里ssh-add一下
ssh-add ~/.ssh/id_ed25519
Git管理多个SSH密钥,Git多帐号配置
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。