CentOS7上GitHub/GitLab多帐号管理SSH Key

本文介绍了一种在单台计算机上同时使用GitHub和GitLab服务的方法,通过生成并配置两个不同的SSHKey,分别对应公司GitLab和个人GitHub账号,解决了因不同邮箱导致的SSHKey冲突问题。

由于公司团队使用 GitLab 来托管代码,同时,个人在 Github 上还有一些代码仓库,可公司邮箱与个人邮箱是不同的,由此产生的 SSH key 也是不同的,这就造成了冲突 ,文章提供此类问题的解决方案:如何在一台机器上面同时使用 Github 与 Gitlab 的服务?

生成GitHub/GitLab 的 SSH Key

$ ssh-keygen -t rsa -f ~/.ssh/id_rsa_github -C "123456@qq.com"
$ ssh-keygen -t rsa -f ~/.ssh/id_rsa_gitlab -C "admin@example.com"

检查key是否生成,执行下面的命令,有id_rsa_githubid_rsa_gitlab以及他们的公钥文件就是成功了。

$ ls ~/.ssh

添加private key

$ ssh-add ~/.ssh/id_rsa_github
$ ssh-add ~/.ssh/id_rsa_gitlab

如果执行ssh-add时提示"Could not open a connection to your authentication agent",可以先执行命令:$ ssh-agent bash,然后再运行ssh-add命令。

# 可以通过 ssh-add -l 来确私钥列表
$ ssh-add -l
 
# 可以通过 ssh-add -D 来清空私钥列表
$ ssh-add -D

修改配置文件

$ vi ~/.ssh/config

# github
Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_github
 
# gitlab
Host gitlab.example.com
    HostName gitlab.example.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_gitlab

上传public key 到 GitHub/GitLab

GitHub设置过程如下

登录github,点击右上方的图标,点击“Settings”

选择“SSH and GPG keys”,点击“New SSH key”,在出现的界面中填写SSH key的名称,填一个你自己喜欢的名称即可,然后将上面拷贝的 ~/.ssh/id_isa_github.pub 文件内容粘帖到 key 一栏,在点击“Add SSH key”按钮就可以了。

GitLab设置过程如下:

点击“Profile Settings”

点击“SSH Keys”,添加SSH key

测试

添加过程github会提示你输入一次你的github密码 ,确认后即添加完毕。

# 测试github
$ ssh -T git@github.com
 
# 测试gitlab
$ ssh -T git@gitlab.example.com
### 配置GitHub上的SSH密钥 #### 创建新的SSH密钥 为了简化向GitHub推送项目的流程并提高安全性,可以创建一个新的SSH密钥。如果已经在CentOS客户端机器上有现有的SSH密钥对,则可能会被新生成的密钥覆盖[^4]。 对于Linux或Mac用户,在终端执行如下命令来生成SSH密钥: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 此命令会提示指定保存位置,默认情况下可以直接按回车键接受默认路径;接着设置密码保护私钥文件的安全性(可选),再次确认输入相同的密码完成操作。 #### 添加SSH密钥至SSH代理程序 启动SSH代理服务并将刚产生的公钥加入其中以便后续使用: ```bash eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa ``` 这里假设`id_rsa`是你刚才创建的身份验证密钥名称,如果不是这个名,请替换为你自己的密钥名字。 #### 将SSH密钥添加到GitHub账户 复制刚刚生成的公共部分的内容,通常位于`~/.ssh/`目录下的`id_rsa.pub`文件内。可以通过以下方式快速获取其内容: ```bash cat ~/.ssh/id_rsa.pub ``` 登录到GitHub网站后进入个人资料页面中的“SSH and GPG keys”,点击右上角的新建按钮上传之前复制好的公钥文本框里粘贴进去,并给它起个有意义的名字方便识别管理,最后提交保存即可[^1]。 #### 测试连接有效性 通过下面这条指令测试是否成功建立了与GitHub服务器之间的信任关系: ```bash ssh -T git@github.com ``` 正常情况下应该收到一条欢迎消息表示一切顺利!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值