ssh获取公钥,绑定gitlab,ssh-keygen-trsa命令详解
ssh获取公钥,绑定gitlab,ssh-keygen -t rsa命令详解
你越是认真⽣活,你的⽣活就会越美好——弗兰克·劳埃德·莱特
昨晚我的战神笔记本电脑拿去百脑汇换了cd壳,今早起来⽆法正常开机,所以临时⽤公司电脑;
到gitlab拉项⽬时,需要绑定ssh公钥,获取公钥得⽹上搜索教程,所以这⾥写⼀份,后续直接拿来⽤
git仓库克隆项⽬时HTTPS跟SSH区别
这两种⽅式的主要区别在于:
使⽤https url克隆对初学者来说会⽐较⽅便,复制https url然后到git Bash⾥⾯直接⽤clone命令克隆到本地
但是每次fetch和push代码都需要输⼊账号和密码,这也是https⽅式的⿇烦之处。
⽽使⽤SSH url克隆却需要在克隆之前先配置和添加好SSH key,因此,如果你想要使⽤SSH url克隆的话,你必须是这个项⽬的拥有者。
否则你⽆法添加SSH key,另外ssh默认每次fetch和push代码不需要输⼊账号和密码,如果你想要每次都输⼊账号密码才能进⾏fetch和push也可以另外进⾏设置。
通过命令ssh-keygen -t rsa 获取公钥
Enter file in which to save the key (/c/Users/chen/.ssh/id_rsa):指定⽣成的⽂件名(公钥会在⽂件⾥,⽤记事本打开可以复制)
Overwrite (y/n)? : 我不是⾸次输⼊这命令,是否要覆盖的意思
输完命令后
在我的/c/Users/chen/.ssh⽂件夹下,会有⼏个⽂件,
id_rsa(私钥)
id_rsa.pub(公钥)
⽤记事本打开id_rsa.pub⽂件,复制⾥⾯内容
在gitlab上绑定公钥
setting→SSH Keys→Add an SSH key
绑定好了后,就可以正常git clone SSH地址,将gitlab上项⽬克隆到本地了
ssh-keygen命令解释
ssh-keygen -t rsa -C “youremail”
在⽤Git⽣成密钥的时候,查询到的命令是:
ssh-keygen -t rsa -C "邮件地址@youremail"
和
ssh-keygen -t rsa -b 4096 -C "邮件地址@youremail"
ssh
SSH 为Secure Shell 的缩写,SSH 为建⽴在应⽤层基础上的安全协议。SSH 是⽬前较可靠,专为远程登录会话和其他⽹络服务提供安全性的协议。利⽤ SSH 协议可以有效防⽌远程管理过程中的信息泄露问题。
ssh-keygen
从客户端来看,SSH提供两种级别的安全验证:
第⼀种级别(基于⼝令的安全验证):只要你知道⾃⼰帐号和⼝令,就可以登录到远程主机。所有传输
的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间⼈”这种⽅式的攻击。
第⼆种级别(基于密钥的安全验证)ssh-keygen:需要依靠密钥,这⾥的密钥是⾮对称密钥。
t : t是type的缩写
-t即指定密钥的类型,密钥的类型有两种,⼀种是RSA,⼀种是DSA
RSA和DSA
RSA:RSA加密算法是⼀种⾮对称加密算法,是由三个⿇省理⼯的⽜⼈弄出来的,RSA是他们三个⼈姓的开头⾸字母组合。
DSA:Digital Signature Algorithm (DSA)是Schnorr和ElGamal签名算法的变种。
为了让两个linux机器之间使⽤ssh不需要⽤户名和密码。所以采⽤了数字签名RSA或者DSA来完成这个操作。
ssh-keygen默认使⽤rsa密钥,所以不加-t rsa也⾏,如果你想⽣成dsa密钥,就需要加参数-t dsa。
b :b是bit的缩写
-b 指定密钥长度。
4096
对于RSA密钥,最⼩要求768位,默认是2048位。4096指的是RSA密钥长度为4096位。
DSA密钥必须恰好是1024位(FIPS 186-2 标准的要求)。
C:comment的缩写
-C表⽰提供⼀个注释,⽤于识别这个密钥。 可以省略.
“邮件地址@youremail”:⽤于识别这个密钥的注释内容
引号⾥的内容为注释的内容,所以"双引号⾥⾯不⼀定得填邮箱,可以输⼊任何内容。
git使用详解推荐阅读
谢谢你阅读到了最后~
期待你关注、收藏、评论、点赞~
让我们⼀起变得更强
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论