我格式化了我的Windows 7笔记本电脑,并试图让git设置再次运行,我安装了git和源代码树应用程序.
我从gitlab中删除了SSH密钥,并使用ssh-keygen重新生成密钥.但是当我尝试在gitlab上添加SSH密钥时,它会引发以下异常:
Key is invalid
Fingerprint has already been taken
Fingerprint cannot be generated
Run Code Online (Sandbox Code Playgroud)
因为我无法从源代码树应用程序克隆git存储库,因为它无法对SSH密钥进行身份验证.我在gitlab的google组中进行了查询,但它们似乎都没有解决我的问题.是否有任何解决方法或步骤来获取gitlab接受的SSH密钥?
Man*_*har 37
就我而言;我尝试添加的公钥已与“工作”Gitlab 帐户一起使用,并且在尝试将相同的密钥与“个人”Gitlab 帐户一起使用时收到了上述错误。
解决方案- 在同一台机器上添加另一个公钥,并使用“个人”gitlab 帐户(都在同一台机器上)。
导航到配置文件中的 .ssh 文件夹(甚至适用于 Windows)并运行命令
ssh-keygen -t rsa
Run Code Online (Sandbox Code Playgroud)
当要求提供文件名时,给出另一个文件名 id_rsa_2(或任何其他)。输入无密码(或其他)。你最终会制作 id_rsa_2 和 id_rsa_2.pub
使用命令
cat id_rsa_2.pub
Run Code Online (Sandbox Code Playgroud)
将密钥复制并保存在“个人”Gitlab 帐户中。
在名为“config”的 .ssh 文件夹中创建一个没有扩展名的文件
将此配置块放在您的配置文件中
Host gitlab.com
HostName gitlab.com
IdentityFile C:\Users\<user name>\.ssh\id_rsa
User <user name>
Host gitlab_2
HostName gitlab.com
IdentityFile C:\Users\<user name>\.ssh\id_rsa_2
User <user name>
Run Code Online (Sandbox Code Playgroud)
现在,只要您想使用“个人”gitlab 帐户,只需更改 git URL 中的别名即可对远程服务器进行操作。
例如而不是使用
git clone git@ gitlab.com :................
简单地使用
git clone git@ gitlab_2 :.................
这样做将使用 gitlab.com 的第二个配置(来自“配置”文件),并将使用新的 id_rsa_2 密钥对进行身份验证。
在此链接上查找有关上述命令的更多信息
https://clubmate.fi/how-to-setup-and-manage-multiple-ssh-keys/
小智 26
Gitlab 可以以某种方式在您过去项目的另一个帐户中使用您的 ssh-key - 因此,解决此问题的最简单方法是创建新的 ssh-pair,将其添加到 ssh-agent 并将 id_rsa2.pub 添加到您的 gitlab 帐户。
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Run Code Online (Sandbox Code Playgroud)
当它问:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/<NAME>/.ssh/id_rsa):
Run Code Online (Sandbox Code Playgroud)
请输入 /home/<NAME>/.ssh/id_rsa2
$ ssh-add ~/.ssh/id_rsa2
Run Code Online (Sandbox Code Playgroud)
tha*_*s.a 11
就我而言,我已经将公钥添加到另一个存储库中。
使固定:
然后你就可以走了。
Men*_*nga 10
确保切掉base64编码字符串末尾的所有内容.同时删除所有换行符,使字符串不包含换行符.
这对我有用.
小智 9
我遇到了同样的错误,因为我已经将此密钥添加到 gitlab 中的另一个帐户。
我尝试了已经建议的所有内容,但没有任何效果。最终对我有用的是使用命令而不是文本编辑器(nano在我的情况下)复制公钥:
pbcopy < ~/.ssh/id_rsa.pub
Run Code Online (Sandbox Code Playgroud)
如有必要,id_rsa用我的特定键名替换。上述命令适用于 OSX。其他系统需要不同的命令,它们列在以下页面:http : //doc.gitlab.com/ce/ssh/README.html。
| 归档时间: |
|
| 查看次数: |
19757 次 |
| 最近记录: |