GitHub、Gitlab、Gitee账号同时添加本地认证、管理多个SSH-Key

493 阅读2分钟

前言

gitlabgithubgitee都是目前一些流行得代码托管平台。在实际工作中,企业一般使用gitlab作为代码托管仓库,跟个人使用有所不同,因此需要添加多个仓库ssh-key认证。以下是我对配置流程的一些了解,也是我对此的记录。

配置流程

1、配置git config

git全局配置用户名和邮箱

git config --global user.name "your name"

git config --global user.email "your email address"

2、生成ssh-key

输入以下命令生成密钥,默认生成文件名id_rsa。 16ebff744fb33122_tplv-t2oaga2asx-watermark.awebp

ssh-keygen -t ed25519 -C "email@example.com"  -f ~/.ssh/id_rsa_github

ssh-keygen -o -t rsa -b 4096 -C "email@example.com" -f ~/.ssh/id_rsa_github

email@example.com 代表注册GitlabGiteeGithub等账号时用的邮箱

-f 代表文件名

~/.ssh/ 代表ssh的文件路径

id_rsa_github 代表ssh文件名(可以自定义)

输入命令后一路回车即可,对应文件生成在.ssh目录下面

微信图片_20220210172727.png

3、添加ssh-key

复制ssh-key的方式有两种。

1.输入cat ~/.ssh/文件名 | clip ,例如cat ~/.ssh/id_rsa_github.pub | clip,复制ssh key。

2.直接用记事本打开 id_rsa_github.pub , ctrl+a 全选复制。

3.来到对应平台找到 ssh 添加页面,新建一个 ssh-key

微信图片_20220210173704.png

4、测试密钥认证

ssh -T git@github.com

打开cmd 或 git bash 输入以上命令验证密钥,成功出现用户名表示验证通过。

需要注意的是,由于Gitlab是私有代码仓库,测试时需要在git@后面输入Gitlab所在ip地址域名,才能正确测试。

微信图片_20220222111518.png

5、添加config文件

首先在./ssh/文件夹下手动添加config文件,配置密钥信息。

16ebff74b00d372e_tplv-t2oaga2asx-watermark.awebp

# gitlab
Host gitlab.com
HostName gitlab.com
User root
IdentityFile ~/.ssh/id_rsa

# github
Host github.com
HostName github.com
User root
IdentityFile ~/.ssh/id_rsa_github

Host 代表 关键词
HostName 代表 主机地址
User 代表 用户名
IdentityFile 代表 认证文件

6、添加config文件

完成配置,还需要对每个密钥添加信任,打开Git Bash 输入下面的指令。

eval $(ssh-agent -s)

ssh-add ~/.ssh/other_id_rsa

eval 代表 开启代理认证指令

ssh-add 代表 添加ssh文件认证

7、认证测试

完成多秘钥认证后,通过ssh -T git@,测试不同平台的密钥是否能连接成功。

结语

本文参考至:https://juejin.cn/post/6844904008163786765

本文只是作为我的个人记录,如果你有什么建议,欢迎留言互相讨论。

最后,祝工作顺利,生活幸福。