解决SourceTree每一次向origin远程分支push代码时都需要输入密码的问题

1,描述

一般情况下使用HTTPS以及SSH方式都可以从远程分支clone克隆代码到本地环境。
但是HTTPS的方式因为不存在密钥因此就会存在每次提交或者是push代码时就会存在输入密码的问题。这对于开发过称比较繁琐,因此就诞生了SSH方式clone以及commit和push代码的方式。

2,SSH密钥的生成过程

在终端环境下执行ls ~/.ssh就可以查看当前文件目录下是否存在SSH密钥生成的id_rsa以及id_rsa.pub两个文件。假如两个文件存在那么就可以确定本地用户已经生成了SSH密钥。如果不存在这两个文件那么就要执行以下命令来生成gitlab账号(邮箱号码)的SSH密钥。

指令:ssh-keygen -t rsa -C "3083764030@qq.com"。

输入完指令之后,第一次生成的话,直接一路回车,不需要输入密码。不是第一次生成的话,会提示 overwrite (y/n)? 问你是否覆盖旧之前生成的 SSH Key ,直接填 y ,然后一直回车就行了,出现如下图就代表 SSH Key 已经生成。

生成之后那么在.ssh文件夹之下就会存在id_rsa以及id_rsa.pub
其中在id_rsa这个文件之下存在就是SSH key的私钥。而在id_rsa.pub
这个文件之下存在的就是公钥。公钥就可以往远程仓库提交而私钥只能往ssh-agent添加。
(3)私钥往ssh-agent添加流程

1,输入以下,命令就可以打开ssh-agent
eval "$(ssh-agent -s)"。 然后输入以下命令ssh-add ~/.ssh/id_rsa添加进入。

(4)将公钥添加到远程仓库
一般情况下就是使用文本编辑器对id_rsa.pub文件的内容进行复制然后粘贴到gitlab的个人设置之中添加公钥就可以了。

注意: ~/.ssh这个文件夹是默认隐藏的,如果找不到的话可以使用以下命令,直接复制 id_rsa.pub 中的内容。

/* macOS 系统 */
pbcopy < ~/.ssh/id_rsa.pub

/* windows 系统 */
clip < ~/.ssh/id_rsa.pub

/* Linux 系统 */
sudo apt-get install xclip
xclip -sel clip < ~/.ssh/id_rsa.pub

这样子就可以解决问题了,一般情况下一台主机只能生成一个SSH key密钥,但是我们可以在不同的仓库使用同一个SSH操作(就是我们可以在不同的远程Git仓库都添加同一个SSH),不存在任何的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tronhon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值