自学内容网 自学内容网

gitlab设置ssh密钥,并考虑已经有其他仓库(如在github等)密钥的情况(多密钥配置问题)

直接clone失败

在这里插入图片描述

注意配置用户名和email

git config --global user.name 'yourname'


git config --global user.email 'your@email'

#查看所有配置信息
git config --list 

创建密钥(注意)

命令:ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
在这里插入图片描述
请注意:这里的C/Users/admin/.ssh/id_rsa已经存储了密钥,如果还是指定这个默认的文件会导致覆盖问题,所以我们需要重新指定一个文件名,而这里的新文件名就和后面的连接有关

一般一路enter就行,不考虑设置密码:
在运行 ssh-keygen 时,系统会提示你输入一个 密码短语(passphrase)。这个密码短语是用来保护你的 SSH 私钥的,如果没有密码短语,任何人只要获得你的私钥,就可以使用它来进行认证。因此,你可以选择设置一个密码短语来提高安全性。
Enter passphrase: 这是你为 SSH 私钥设置的密码短语。如果你想增加安全性,可以设置一个密码短语。设置密码短语后,在每次使用 SSH 密钥时(例如,克隆仓库),你需要输入这个密码。
Enter same passphrase again: 这一步是让你确认密码短语是否正确。
如果你不想设置密码短语(即不想每次使用 SSH 密钥时输入密码),可以按 Enter 键跳过这一步骤。

两个选择:
设置密码短语:提高安全性,但每次使用私钥时需要输入密码短语。
不设置密码短语:简化使用,但安全性稍差,任何获取到私钥的人都可以使用。
如果你选择不设置密码短语,可以直接按 Enter 跳过这一步。如果你决定设置密码短语,输入并确认密码即可。

总结:
设置密码短语:可以提高安全性,但稍微麻烦。
不设置密码短语:每次使用 SSH 密钥时不需要输入密码,简化使用。

之后对应路径会生成相应的密钥

在这里插入图片描述

将pub里面的密钥复制到gitlab的sshkey中

在这里插入图片描述
在右边选择add new key

在这里插入图片描述

问题来了

使用ssh -T git@git.xxxxxxx.cn连接对应的仓库时候
在这里插入图片描述
原因是:我的 SSH 配置文件没有默认使用 id_rsa_gitlab 这个密钥,因此 ssh -T git@git.xxxxx.cn 默认使用了其他的密钥(例如 id_rsa),这导致连接失败。而当我显式指定 -i ~/.ssh/id_rsa_gitlab 时,才使用了正确的密钥文件,所以连接成功

在这里插入图片描述
成功一般会提示welcome

但是git clone仓库失败

在这里插入图片描述

出错原因

这里报错信息原因是:
SSH 配置文件未正确设置
如果你使用了多个 SSH 密钥(例如这里的 id_rsa 和 id_rsa_gitlab),Git 没有正确使用 id_rsa_gitlab。

解决方法

配置 SSH 使用指定密钥
由于使用了多个 SSH 密钥(如 id_rsa 和 id_rsa_gitlab),需要在 SSH 配置文件中明确指定 id_rsa_gitlab 用于 git.dslab.lzu.edu.cn。

编辑 SSH 配置文件 ~/.ssh/config,添加以下内容:

Host git.xxx.cn
    HostName git.xxx.cn
    User git
    IdentityFile ~/.ssh/对应私有密钥
    IdentitiesOnly yes

保存后重新测试:

ssh git@git.xxx.cn

再次尝试克隆:

git clone git@git.xxx.cn:xxx/hospital.git

如果没有config文件

~/.ssh/ 目录下没有找到 config 文件,可以自己创建一个新的 config 文件。下面是创建和配置步骤:

  1. 创建 SSH 配置文件
    打开终端,进入 ~/.ssh/ 目录:
cd ~/.ssh

创建一个新的 config 文件:

touch config

然后找到config,直接用记事本打开,输入

Host git.xxx.cn
    HostName git.xxx.cn
    User git
    IdentityFile ~/.ssh/对应私有密钥
    IdentitiesOnly yes

对应的内容替换即可

此处操作

然后ssh git@git.xxx.cn
在这里插入图片描述
执行clone操作:成功
在这里插入图片描述


原文地址:https://blog.csdn.net/weixin_44628096/article/details/144661751

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!