gitlab ssh-key 的问题

Posted

技术标签:

【中文标题】gitlab ssh-key 的问题【英文标题】:Trouble with gitlab ssh-key 【发布时间】:2021-12-16 23:10:54 【问题描述】:

在我的笔记本电脑中,我为 GitHub 添加了 SSH-Key,它运行良好。现在我要使用 GitLab。第一步是添加 SSH-Key 来克隆私有仓库。当我为gitlab添加SSH-Key并验证时,这里有问题。

我也添加了我的主机文件:

当我尝试从 gitlab 克隆时,它有错误。

【问题讨论】:

【参考方案1】:

我看到您在 MinGW 中启动 SSH-Agent 以访问 GitLab,但之后您使用 PowerShell 尝试克隆目标存储库。

首先,您是否检查过在SSH_AUTH_SOCK 中加载了正确的代理?因为在我看来,您在 PowerShell 中没有任何 ssh-agent,所以这就是给您带来错误的原因。

为了在 PowerShell 中启动 ssh-agent,您需要将其作为服务进行,因此您可以这样做

PS> Start-Service ssh-agent

或者如果您希望 ssh-agent 以 Windows 启动,您可以运行(从提升的 PS 提示符):

PS> Set-Service ssh-agent -StartupType Automatic

之后,您只需添加一次 ssh 密钥,但添加到该代理:

PS> ssh-add "E:\SSH key\Gitlab\gitlab"

SSH 密钥权限错误

如果您的 SSH 私钥权限出现错误,您应该在提升的 PowerShell 提示符中运行以下命令:

icacls.exe "E:\SSH key\Gitlab\gitlab" /reset
icacls.exe "E:\SSH key\Gitlab\gitlab" /GRANT:R "$($env:USERNAME):(R)"
icacls.exe "E:\SSH key\Gitlab\gitlab" /inheritance:r

这只会授予当前用户对密钥的读取权限。

【讨论】:

哦,不,GitLab 仍然出错。但是 Github 仍然可以工作 :((( 您能否使用该具体的 SSH 密钥验证您是否有权访问该存储库?当您尝试从 PowerShell 对 gitlab.com 执行 SSH 时,它会说什么? drive.google.com/file/d/16H6486fBzGyCycM1B1MhlPVJh0i5q6Fa/… 这是结果伙计们 drive.google.com/file/d/1yvS9dUsItPgiGgij3mpW98ix2_dK2MR1/… 和我克隆时的结果 嗯,它清楚地告诉你,你的私钥的权限有问题,因此它会忽略它。尝试正确设置权限(我会更新我的答案)

以上是关于gitlab ssh-key 的问题的主要内容,如果未能解决你的问题,请参考以下文章

Gitlab API 添加 SSH-key

github/gitlab ssh-keys全局唯一

gitlab ssh-key 不生效问题,ssh push需要密码

github/gitlab ssh-key公钥各种问题 解决

jenkins ssh ssh-key 下载gitlab代码

通过 curl 添加 SSH-key:无法生成指纹