ssh获取公钥,绑定gitlab,ssh-keygen -t rsa命令详解

2 篇文章 0 订阅

你越是认真生活,你的生活就会越美好——弗兰克·劳埃德·莱特
《人生果实》经典语录

昨晚我的战神笔记本电脑拿去百脑汇换了cd壳,今早起来无法正常开机,所以临时用公司电脑;
到gitlab拉项目时,需要绑定ssh公钥,获取公钥得网上搜索教程,所以这里写一份,后续直接拿来用

git仓库克隆项目时HTTPS跟SSH区别

这两种方式的主要区别在于:
使用https url克隆对初学者来说会比较方便,复制https url然后到git Bash里面直接用clone命令克隆到本地

但是每次fetchpush代码都需要输入账号和密码,这也是https方式的麻烦之处。

而使用SSH url克隆却需要在克隆之前先配置和添加好SSH key,因此,如果你想要使用SSH url克隆的话,你必须是这个项目的拥有者。

否则你无法添加SSH key,另外ssh默认每次fetch和push代码不需要输入账号和密码,如果你想要每次都输入账号密码才能进行fetch和push也可以另外进行设置。

HTTPS克隆地址
https://gitee.com/WebJianHong/rrweb.git
在这里插入图片描述
SSH克隆地址
git@gitee.com:WebJianHong/rrweb.git
在这里插入图片描述

通过命令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文件,复制里面内容
在这里插入图片描述

Mac系统的话可以在终端里执行代码的命令

cd ~/.ssh

ls

cat id_rsa.pub

在gitlab上绑定公钥

setting → SSH Keys → Add an SSH key
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

绑定好了后,就可以正常git clone SSH地址,将gitlab上项目克隆到本地了
在这里插入图片描述

ssh-keygen命令解释

ssh-keygen -t rsa -C “youremail.com”

在用Git生成密钥的时候,查询到的命令是:
ssh-keygen -t rsa -C "邮件地址@youremail.com"

ssh-keygen -t rsa -b 4096 -C "邮件地址@youremail.com"

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.com”:用于识别这个密钥的注释内容

引号里的内容为注释的内容,所以"双引号里面不一定得填邮箱,可以输入任何内容

推荐阅读

连点成线
Vue源码学习目录


谢谢你阅读到了最后~
期待你关注、收藏、评论、点赞~
让我们一起 变得更强

  • 28
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
sshgen -t rsa -C "邮件地址@youremail.com" 是一个Git命令,用于生成SSH密钥对。其中,-t rsa指定了密钥类型为RSA,-C "邮件地址@youremail.com"则是在生成密钥时提供了一个注释。 这个命令将生成一对密钥,包括一个私钥和一个公钥。私钥将保存在您的计算机上,而公钥则可以分享给需要的人或用于身份验证。通过将公钥添加到您的Git账户或其他相关服务中,您就可以使用SSH协议进行安全的远程操作,比如克隆GitLab上的项目到本地。 在安装了Git的情况下,您可以直接在命令行中输入ssh-keygen -t rsa -C "邮件地址@youremail.com" 来生成密钥对。如果您不确定是否安装了ssh-keygen,可以尝试运行$ ssh-keygen 命令来检查。另外,如果您使用的是Node.js,也可以通过安装ssh-keygen的npm软件包来生成SSH密钥对。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [ssh获取公钥,绑定gitlab,ssh-keygen -t rsa命令详解](https://blog.csdn.net/weixin_42752574/article/details/106367959)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [ssh-keygen:在node.js中生成SSH密钥对](https://download.csdn.net/download/weixin_42144604/18593513)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值