• Git多账号配置,同一电脑多个ssh-key的管理


    为什么有这种需求?

    在我们开发过程中,可能会遇到使用同一台机器,既要向公司git服务器提交代码,也要向gitlib或者gitee等
    git仓库提交代码,2个仓库设置的用户名信息,不一样,此时需要用到多个ssh-key管理.主要包含以下几个步骤.

    生成对应的私钥公钥

    1. 生成github.com对应的私钥公钥

    ssh-keygen -t rsa -C xxx@126.com -f ~/.ssh/github_rsa
    
    

    **2. 同样的方式生产git.oschina.net的私钥公钥

    ssh-keygen -t rsa -C xxx@163.com -f ~/.ssh/id_rsa_github
    
    
    把上面得到的文件拷贝到git默认访问的.ssh目录(默认就存在当前登录用户文件夹.ssh目录)

    如图所示

    把github对应的公钥和oschina对应的公钥上传到服务器
    在.ssh目录创建config文本文件并完成相关配置(最核心的地方)

    每个账号单独配置一个Host,每个Host要取一个别名,每个Host主要配置HostName和IdentityFile两个属性即可

    Host的名字可以取为自己喜欢的名字,不过这个会影响git相关命令,例如:
    Host mygithub 这样定义的话,命令如下,即git@后面紧跟的名字改为mygithub
    git clone git@mygithub:cary/sample.git

    HostName           这个是真实的域名地址
    IdentityFile          这里是id_rsa的地址
    PreferredAuthentications   配置登录时用什么权限认证--可设为publickey,password publickey,keyboard-interactive等
    User            配置使用用户名
    

    ** config文件配置如下:**

    #gitee
    Host gitee.com
    HostName gitee.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_oschina
    User cary
    
    #github
    Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_github
    User cary
    
    
    打开Git Bash客户端(管理员身份运行)执行测试命令测试是否配置成功(会自动在.ssh目录生成known_hosts文件把私钥配置进去)

    **使用ssh -T 校验

    ssh -T git@gitee.com
    如果成功会显示如下:
    Hi cary! You've successfully authenticated, but GITEE.COM does not provide shell access.
    
    
  • 相关阅读:
    数据解析1127
    数据解析1119
    数据解析1114
    数据解析1122
    数据解析1121
    数据解析1120
    数据解析1116
    数据解析1128
    Twitter惊现新型病毒 每分钟159条速率分散
    宏达电预计本年有望在台湾市场击败诺基亚
  • 原文地址:https://www.cnblogs.com/weiguo21/p/10573234.html
Copyright © 2020-2023  润新知