gitlab 配置ssh 登陆 需要 输入密码

问题

在 gitlab 里已经配置里 ssh-keys,但是使用 ssh clone 项目的时候需要如下一样的输入密码,而且无论输入什么都不对导致无法 clone 项目。
在这里插入图片描述

解决办法

一. 使用 http 方式 clone

这个办法就是快速解决 clone 项目的,直接使用 git clone http://xxx.com/yyy/zzz.git ,只需要 输入一次 gitlab 账号密码就行。
在这里插入图片描述

二. 配置 ssh 的 config 文件

可能有些童鞋就是想用 ssh clone,不然就难受,比如鄙人,这个时候你可以看一下,在 .ssh/ 里面是否配了多个 id_rsa.pub,我就是之前配了一个自用 ssh-key,默认为id_rsa,所以新生成了个公司用的 id_rsa_sh,gitlab上配置的就是这个 id_rsa_sh,从而导致的这个问题。
解决办法就是在 .ssh/ 下的 config 文件里加上你新增的 ssh-key,如下:

# GitLab.com server
Host xxx.com
RSAAuthentication yes
IdentityFile /Users/maple/.ssh/id_rsa_sh

这里的 id_rsa_sh 改为你自己的 ssh-key 就行了。如果没有 config 文件就 touch 一个。
我遇到的问题到这里就结束了,分析下问题原因:

  • ssh 链接默认用的 id_rsa,这个可以使用 ssh -vT git@xxx.com 来看,输出的内容有读取的 ssh-key 的目录和列表,
  • 配置多个 ssh-key 需要指定哪个 host 使用具体的哪个 ssh-key
  • 最大大问题就在于 gitlab 的 ssh-keys 页面上面有个 generate it 的链接,教你如何配置,只看到了上面的添加 key,没看到下面的添加非默认key的解决办法!!!
### 如何在 GitLab 中设置 SSH 密钥 为了能够在 GitLab 上通过 SSH 协议安全地推送和拉取代码,需要先生成一对 SSH 密钥并将其添加到 GitLab 账户中。 #### 检查现有 SSH 密钥 运行命令来查看是否存在已有的 SSH 密钥文件: ```bash ls -al ~/.ssh ``` 如果不存在任何 `.pub` 结尾的文件,则表示还没有创建过 SSH 密钥对[^5]。 #### 创建新的 SSH 密钥 如果没有找到现有的密钥,可以使用 `ssh-keygen` 工具生成一个新的 SSH 密钥。执行如下命令: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 这会提示输入保存位置,默认路径通常是合适的;接着会被询问是否要设置密码保护私钥,可以根据个人需求决定是否设定密码[^1]。 #### 添加 SSH 私钥至代理程序 为了让计算机记住这个新生成的 SSH 密钥,在每次重启终端不需重新加载它,可启动 ssh-agent 并添加私钥: ```bash eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa ``` 这里假设刚才生成的是名为 id_rsa 的 RSA 类型密钥。 #### 将公钥复制给 GitLab 最后一步就是把刚刚产生的公钥内容粘贴进 GitLab 设置里去。可以通过以下方式获取公钥文本: ```bash cat ~/.ssh/id_rsa.pub ``` 进入 GitLab 网站,导航到用户的 SSH Keys 页面 (通常位于 用户头像 -> Edit Profile -> Expand 'SSH Keys' section),然后将上述命令输出的内容粘贴进去,并点击 Add Key 按钮完成操作[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值