zoukankan      html  css  js  c++  java
  • 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.
    
    
  • 相关阅读:
    Haproxy图解
    Keeplived 配制图解
    日志文件 的管理 logrotate 配置
    Haproxy+MYSQL 负载均衡 原创
    MySQL内存----使用说明全局缓存+线程缓存) 转
    MYSQL内存--------启动mysql缓存机制,实现命中率100% 转
    MYSQL SQL 审核工具 (inception安装步骤)
    MHA手动切换 原创4 (非交互式切换)
    MHA手动切换 原创2 (主参与复制)
    MHA手动在线切换主 原创3(主不参与复制)
  • 原文地址:https://www.cnblogs.com/weiguo21/p/10573234.html
Copyright © 2011-2022 走看看