zoukankan      html  css  js  c++  java
  • 同一主机设置多个密钥与不同github账号关联,或同一主机同一密钥分别关联github和gitlab

    前言

    github一把公钥只能用于一个github账户,如果想在同一主机上给两个属于不同账户的仓库提交时,必须在本地创建两对公/私钥匙,分别把两把公钥给两个帐号。

    或者有时候,你公司内部使用的gitlab,同时你个人又有github,你想用同一个公钥将仓库分别提交到github和gitlab。

    多个密钥管理多个github/gitlab

    1 生成密钥

    生成第一把公钥:
    ssh-keygen -t rsa -C "kobe@email.com"
    # 设置名称为id_rsa_kobe
    Enter file in which to save the key ((/home/xxxx/.ssh/id_rsa)): id_rsa_kobe
    #添加到SSH agent中
    ssh-add id_rsa_kobe
    
    制造第二把公钥:
    ssh-keygen -t rsa -C "jordan@email.com"
    # 设置名称为id_rsa_jordan
    Enter file in which to save the key ((/home/xxxx/.ssh/id_rsa)): id_rsa_jordan
    
    #添加到SSH agent中
    ssh-add id_rsa_jordan
    

    2 将公钥添加到你要提交的github和gitlab账户上

    3 配置ssh

    # 在.ssh目录下配置config文件:
    Host kobe
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_kobe
    Host jordan
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_jordan
    

    4 测试,如下表示OK

    ssh -T kobe
    Hi kobe! You've successfully authenticated, but GitHub does not provide shel l access.
    ssh -T ranpop
    Hi jordan! You've successfully authenticated, but GitHub does not provide shel l access.
    

    5 用Host指定使用哪个公钥操作远程仓库

    对于kobe帐号下的仓库:
    git clone kobe:githubname/repository.git
    (原地址是:git@github.com:githubname/repository.git,替换后应该是:kobe:githubname/repository.git)
    对于ranpop帐号下的仓库:
    git clone jordan::githubname/repository.git
    (原地址是:git@github.com:githubname/repository.git,替换后应该是:jordan:githubname/repository.git)
    

    6 如果本地已有仓库

    # 如果已经使用原地址克隆过了,可以使用如下命令修改
    git remote set-url origin kobe:githubname/repository.git
    # 如果是本地新建的仓库,可以使用如下命令添加
    git remote add origin jordan:githubname/repository.git
    

    同一密钥分别关联github和gitlab

    1 生成密钥方法同上

    2 将公钥添加到你要提交的github和gitlab账户上

    3 配置ssh

    # 在.ssh目录下配置config文件:
    Host github
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_kobe
    Host gitlab
    HostName gitlab.com
    User git
    IdentityFile ~/.ssh/id_rsa_kobe
    

    4 测试,如下表示OK

    ssh -T github
    Hi kobe! You've successfully authenticated, but GitHub does not provide shel l access.
    ssh -T gitlab
    Welcome to GitLab, @kobe!
    

    5 本地同一仓库分别关联github和gitlab

    git remote add github github:githubname/repository.git
    git remote add gitlab gitlab:githubname/repository.git
    

    6 可以使用github gitlab分别对不同上游进行操作

    # 推送master分支到github
    git push github master
    # 推送master分支到gitlab
    git push gitlab master
    
  • 相关阅读:
    cmd.ExecuteNonQuery();和cmd.ExecuteScalar();
    向数据库中添加内容 manageStdInfo.aspx
    ModifyInfo.aspx.cs代码
    RequiredFieldValidator 控件 CompareValidator 控件
    HyperLink控件
    WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping
    sum函数
    numpy中的matrix和array
    python range函数与numpy arange函数
    argsort
  • 原文地址:https://www.cnblogs.com/logchen/p/10543808.html
Copyright © 2011-2022 走看看