zoukankan      html  css  js  c++  java
  • Windows下Git多账号配置,同一电脑多个ssh-key的管理

     这一篇文章是对上一篇文章《Git-TortoiseGit完整配置流程》的拓展,所以需要对上一篇文章有所了解,当然直接往下看也可以,其中也有一些提到一些基础的操作。

      本文以配置github.com账号和git.oschina.net账号来逐步演示在Windows环境下配置Git多账号支持即在同一个电脑上管理多个ssh-key,对git多一分了解。

      备注:这篇文章所有执行命令的地方都是在管理员模式下进行,即打开cmd,Git Bash客户端用管理员身份运行程序。


    1. 生成github.com对应的私钥公钥(本文中文件地址C:Userspopfisher目录)

    执行命令 ssh-keygen -t rsa -C email 创建github对应的sshkey,命名为id_rsa_github,密码 123456 

    ssh-keygen -t rsa -C 774232122@qq.com

    2. 同样的方式生产git.oschina.net的私钥公钥(邮箱地址可以相同可以不同,本文相同)

    执行命令ssh-keygen -t rsa -C email创建github对应的sshkey,命名为id_rsa_oschina,密码 123456 

    ssh-keygen -t rsa -C 774232122@qq.com

    3. 把上面得到的文件拷贝到git默认访问的.ssh目录(win10在用户目录下,本文C:Userspopfisher.ssh)

    除了秘钥文件之外,config文件是后面的步骤中手动生产的,known_hosts文件是后续自动生产的

     

    4. 把github对应的公钥和oschina对应的公钥上传到服务器

     GitHub添加SSH key的方式如下图所示:

    git.oschina.net添加SSH key的方式如下图所示:

    5. 在.ssh目录创建config文本文件并完成相关配置(最核心的地方)

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

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

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

    config文件配置如下:

    复制代码
    # 配置github.com
    Host github.com                 
        HostName github.com
        IdentityFile C:\Users\popfisher\.ssh\id_rsa_github
        PreferredAuthentications publickey
        User username1
    
    # 配置git.oschina.net 
    Host git.oschina.net 
        HostName git.oschina.net
        IdentityFile C:\Users\popfisher\.ssh\id_rsa_oschina
        PreferredAuthentications publickey
        User username2
    复制代码

     6. 打开Git Bash客户端(管理员身份运行)执行测试命令测试是否配置成功(会自动在.ssh目录生成known_hosts文件把私钥配置进去)

     

    7. 测试成功之后就可以在电脑上同时使用git多多账号同时操作,互不影响了

    clone github上的项目AndroidRotateAnim

      打开github上AndroidRotateAnim项目,复制其对应的clone命令入下图所示

     执行clone命令如下:

     

    clone oschina.net上的项目AndroidDevTools

      打开git.oschina.net上AndroidDevTools项目,复制其对应的clone命令入下图所示

     

     执行clone命令如下:

  • 相关阅读:
    使用curses管理基于文本的屏幕--(四)
    让Debian服务器支持jsp程序
    使用curses管理基于文本的屏幕--(五)
    SQL Server DT问与答
    ExtJS4.x treegrid 控件复选框的研究
    动态查找表之二叉排序树
    应届毕业生求职,注意事项
    windows编码约定
    JavaJDBC数据库开发
    Windows桌面应用开发字符串的使用
  • 原文地址:https://www.cnblogs.com/yf2196717/p/10954507.html
Copyright © 2011-2022 走看看