美文网首页
一台服务器中配置多个git sshkey

一台服务器中配置多个git sshkey

作者: R_X | 来源:发表于2020-11-01 20:32 被阅读0次

    需求背景:GitHub上有两个项目,需要拉取到同一台服务器,并且都需要通过ssh的方式拉取

    假设两个项目分别叫: proj1 和 proj2

    一、分别生成 ssh key

    # 先生成 proj1 的 sshkey
    $ ssh-keygen -t rsa -C "888888@qq.com"
    
    image.png

    注意:键入该命令以后,会出现如上图所示的提示符,在 Enter file in which to save the key 这里输入proj1。输入这个是为了便于区分,其实输入啥完全看你自己的爱好,但是当有多个sshkey时,一定要加以区分,否则默认的名称 id_rsa, id_rsa.pub会覆盖之前的。

    密码可以为空,直接回车就好。建好以后,你会在 ~/.ssh 目录下发现两个文件:proj1、 proj1.pub
    另一个项目也如此操作。

    二、添加私钥

    $ ssh-add -l 
    # 如果什么都没有,则执行:
    $ ssh-add proj1
    $ ssh-add proj2
    $ ssh-add -l  
    # 会输出:
    # 3072 SHA256:DDDDDDDDDDDDDDDDr867EyhG1JwiBY 1002853070@qq.com (RSA)
    # 3072 SHA256:kSSSSSSSSSSSSScnZTTWuG21KRI 1002853070@qq.com (RSA)
    #则表示添加成功
    

    如果报错:Could not open a connection to your authentication agent
    则执行:ssh-agent bash 即可

    三、将生成的两个 项目的 公钥 放到GitHub上

    这里就不赘述了

    四、在 ~/.ssh 目录下添加 config 文件

    # 输入一下内容:
    Host github-proj1.com  # 这里用于区分不同项目,也就是给 github.com 起个别名的意思
        HostName github.com  # 这里是你代码仓库的域名,github.com 没毛病
        User git # 这里就这么写,别管为啥了,我也不知道。。。
        IdentityFile /root/.ssh/proj1  # 这是刚才生成的秘钥的位置
    Host github-proj2.com
            HostName github.com
            User git
            IdentityFile /root/.ssh/proj2
    

    五、clone 代码

    从GitHub上粘贴出来的 ssh 克隆地址:
    git@github.com:wdx/proj1.git
    git@github.com:wdx/proj2.git ,作如下修改:
    git@github-proj1.com:wdx/proj1.git
    git@github-proj2.com:wdx/proj2.git

    分别 clone

    $ git clone   git@github-proj1.com:wdx/proj1.git
    $ git clone  git@github-proj2.com:wdx/proj2.git 
    

    哦了,~\(^o^)/~

    相关文章

      网友评论

          本文标题:一台服务器中配置多个git sshkey

          本文链接:https://www.haomeiwen.com/subject/nksuvktx.html