Git多平台/多账号配置

有时候需要在一台电脑使用多个git平台(Gitee、GitHub、Gitlab...)或者一个平台多个不同账号,比如想同时配置公司git和个人的git,提交代码时提交到对应的平台/账号的代码仓库且互不影响。这时候需要配置不同的SSH key。

1. 生成SSH key

以下命令需打开Git Bash,并在里面输入。

  • 默认情况下,用户的 SSH 密钥存储在其 ~/.ssh 目录下。 进入该目录并列出其中内容,你便可以快速确认自己是否已拥有密钥:
$ cd ~/.ssh
$ ls
authorized_keys2 id_dsa known_hosts
config id_dsa.pub
  • 该目录中一般有一对以 id_dsaid_rsa 命名的文件,其中一个带有 .pub 扩展名。 .pub 文件是你的公钥,另一个则是与之对应的私钥。 如果找不到这样的文件(或者根本没有 .ssh 目录),你可以通过运行 ssh-keygen 程序来创建它们。
$ ssh-keygen -t rsa -C "xxx@xxx.com" -f ~/.ssh/id_rsa_github

-t 指定密钥类型,默认是 rsa ,可以省略。
-C 设置密钥注释,如邮箱。
-f 设置密钥文件的文件名。
注意:如果多次生成私钥公钥则需要重新命名,否则会覆盖之前的同名密钥文件。

image

2. 配置公钥到远端git

以GitHub为例:

  • 点击右上角头像,选择下拉菜单中的Settings,然后在左侧菜单中找到SSH and GPG keys
  • New SSH key,输入一个标题,把本地的公钥 .pub 文件内容全选复制粘贴到文本框里
    image

3. 配置config文件

  • ~/.ssh 目录下,如果没有config文件可以通过 touch ~/.ssh/config 指令创建config文件,如果有则直接编辑这个文件:
$ touch ~/.ssh/config
  • 修改config文件的内容,配置完以后,github的仓库会使用 ~/.ssh/id_rsa_lpk_github 密钥进行验证,gitee会使用 ~/.ssh/id_rsa_lpk_gitee 密钥进行验证。
# github
Host github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_lpk_github
User lpk
# gitee
Host gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_lpk_gitee
User lpk

文件参数:
Host:主机名
User:指定登录的用户名,默认为git
HostName:指定要登录的真实主机名
PreferredAuthentications:指定客户端尝试身份验证方法的顺序
IdentityFile:指定使用的密钥文件
其他参数配置详见 点击这里

4. 测试连接

  • 执行以下指令测试能否成功连接
$ ssh -T git@github.com
  • 出现以下结果表示连接成功

image

至此,配置完毕,可以提交代码到不同平台了 😎

posted @   Li_pk  阅读(370)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示