美文网首页
Git多用户配置ssh

Git多用户配置ssh

作者: AgoniNemo | 来源:发表于2017-11-23 14:45 被阅读23次
    git_github_ssh_linux.jpg

    正文

    # 公钥放在`~/.ssh/`目录,email@email.com可以改成其他邮箱好做区别,id_rsa可以改成github_id_rsa,表示用于github
    ssh-keygen -t rsa -C "email@email.com" -f ~/.ssh/id_rsa
    

    ~/.ssh/下创建config,执行命令vim ~/.ssh/config,如果已经创建了就编辑,博主的config如下(host随意即可,方便自己记忆,后续在添加remote是还需要用到)

    #github qq168520@163.com
    host github
        hostname github.com
        User Agoni
        IdentityFile ~/.ssh/github_id_rsa
    
    #gitlab xiezhuocheng@mjwon.com
    host gitlab
        hostname http://10.10.10.79
        User Agoni
        Port 11000
        IdentityFile ~/.ssh/id_rsa
    
    #gitlab qq168520@163.com
    host oschina
        hostname git.oschina.net
        User Agoni
        IdentityFile ~/.ssh/oschina_id_rsa
    
    # 查看系统ssh-key代理
    ssh-add -l
    
    显示
    2048 SHA256:9Qq7xLqqtlDOehS7Aw5mlRdVAq8XrUlm6tKeXzMnD4 /Users/xxx/.ssh/id_rsa (RSA)
    2048 SHA256:KmwrjIrdqQWdBF3f9FIhbIlvdjo6+tbSJXms1TWuB4 /Users/xxx/.ssh/oschina_id_rsa (RSA)
    2048 SHA256:YDzombL5ndt0bAVulwvANumbEX9TFQ/iDO51AzN5F0 /Users/xxx/.ssh/github_id_rsa (RSA)
    
    # 如果出现The agent has no identities. 则表示没有代理
    ssh-add -D
    
    # 依次将不同的ssh添加代理(如果使用 ssh-add ~/.ssh/id_rsa的时候报Could not open a connection to your authentication agent错误
    ,则需要先运行一下 ssh-agent bash 命令后再执行 ssh-add ...等命令)
    ssh-add -K ~/.ssh/id_rsa
    ssh-add -K ~/.ssh/github_id_rsa
    ssh-add -K ~/.ssh/oschina_id_rsa
    
    

    测试ssh:ssh -T git@github.com
    你会得到如下提示,表示这个ssh公钥已经获得了权限

    Hi USERNAME! You've successfully authenticated, but github does not provide shell access.
    

    配置完成后,在连接非默认帐号的github仓库时,远程库的地址要对应地做一些修改,比如现在添加user帐号下的一个仓库test,则需要这样添加:(user是github的用户名, github是上面配置的host)
    git remote add test git@github:user/test.git

    PS:这里需要注意一点,就是在配置好这些以后,如果修改了全局的git config里的user.nameuser.email,在你提交代码时, 可能会出现看不到贡献图的显示,这可能是上面两个属性不正确所至.

    相关文章

      网友评论

          本文标题:Git多用户配置ssh

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