git 多账号配置

1. 生成 git 账号公钥秘钥

ssh-keygen -t rsa -C username@xxx.com

2. 公钥拷贝及上传

cat ~/.ssh/id_rsa.pub

复制内容,然后在对应网站的个人账户-设置-ssh里进行添加。

3. config 配置

创建一个config文件,每个账号配置一个Host节点。

vi ~/.ssh/config

主要配置文件内容如下

# github-1 account
Host u1.github.com
    HostName github.com
    User user1
    IdentityFile ~/.ssh/id_rsa_github1
    PreferredAuthentications publickey

# github-2 account
Host u2.github.com
    HostName github.com
    User user2
    IdentityFile ~/.ssh/id_rsa_github2
    PreferredAuthentications publickey


# gitlab account
Host gitlab.com
    HostName gitlab.com
    User iJarmin_lab
    IdentityFile ~/.ssh/id_rsa_gitlab
    PreferredAuthentications publickey

# oschina account
Host git.oschina.net 
    HostName git.oschina.net
    User username2
    IdentityFile ~/.ssh/id_rsa_oschina
    PreferredAuthentications publickey

配置项说明:

    Host      ##主机别名,这个可以随便写
    HostName  ##服务器真实地址
    IdentityFile  ##私钥文件路径
    PreferredAuthentications  ##认证方式
    User  ##用户名

4. 进行测试是否成功

4.1 测试github 账号1

ssh -T git@u1.github.com

提示 you,re successfully authenticated,but Github does not provide shell access

4.2 测试gitlab

ssh -T git@gitlab.com

提示welcome to gitlab

5. 配置账户的 username 和 email

请参考博客内文章

6. 通过 ssh clone 项目

比如,我们想用 github-2 account clone 仓库,原仓库地址为 git@github.com:github-2/respository.git,我们需要将host 替换成host 别名(u2.github.com),如下

git clone git@u2.github.com:github-2/respository.git

7. 参考


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 chgocn@gmail.com
笔记