在一台电脑上配置多个不同的 ssh key

前言

如果拥有多个Git远程仓库,尤其是其中一个是工作中使用的仓库,只使用一个ssh key安全性很低,建议为不同Git远程仓库配置不同的ssh key。

预操作

非必须,但建议

  • 取消git全局设置

    git config --global --unset user.name
    git config --global --unset user.email
  • 为每个项目单独配置 user.name 和 user.email

    git config user.name "yourname"
    git config user.email "youremail"

    已经在本地存在的项目,只需再配置一下 user.name 和 user.email 即可,不需要额外的操作。

    注意 :这里配置的 name 和 email 要针对具体项目来配置,对应不同远程仓库的项目 name 和 email 可能并不一致。

SSH配置

  • 第一步 生成ssh key

    ssh-keygen -t rsa -f ~/.ssh/filename -C xxx@gmail.com

    ref : http://www.cnblogs.com/popfisher/p/5731232.html

    这里有两个参数, filenamexxx@gmail.com ,前者是生成ssh密钥文件的文件名,不同远程仓库取不一样的名字,比如 id_rsa_workid_rsa_githubid_rsa_gitee 等,后者是与远程仓库地址对应的邮箱,每个也可能不一样。

    按照以上命令,生成多个ssh的密钥,并把对应的公钥(如 id_rsa_github.pub 文件里面key)添加到相应远端。

  • 第二步 添加config文件

    在.ssh目录下,新建 config 文件(文件名就是 config),设定不同git服务器的key。

    第一项是默认项。这里重点是配置 Host 字段和 IdentityFile 字段,前者对应git服务器域名,后者为对应的ssh密钥文件。

    # github
    Host github.com
    HostName github.com
    User github
    IdentityFile ~/.ssh/id_rsa_github # gitee 开源中国
    Host gitee.com
    HostName gitee.com
    User gitee
    IdentityFile ~/.ssh/id_rsa_gitee

    设置完成之后,可以用 ssh -T git@github.com 命令检查配置是否成功。

参考文献

  1. 多个git账号之间的切换

  2. ssh-key 与 git账户配置以及多账户配置

  3. Git多账号登陆

原文链接:

https://www.cnblogs.com/jasongrass/p/11162918.html

Git多账号配置的更多相关文章

  1. 【亲测可用,亦可配置同一平台的不同账号,例如阿里云的两个不同账号】Windows下Git多账号配置,同一电脑多个ssh-key的管理

    Windows下Git多账号配置,同一电脑多个ssh-key的管理   这一篇文章是对上一篇文章<Git-TortoiseGit完整配置流程>的拓展,所以需要对上一篇文章有所了解,当然直接 ...

  2. git多账号配置,同时使用多个代码托管平台

    git多账号配置,同时使用多个代码托管平台:https://blog.csdn.net/pinnuli/article/details/81293071

  3. Windows下Git多账号配置,同一电脑多个ssh-key的管理

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

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

    为什么有这种需求? 在我们开发过程中,可能会遇到使用同一台机器,既要向公司git服务器提交代码,也要向gitlib或者gitee等 git仓库提交代码,2个仓库设置的用户名信息,不一样,此时需要用到多 ...

  5. 一台电脑,两个及多个git账号配置

    1. 生成两[三]个ssh公钥私钥 方法参照:http://www.cnblogs.com/fanbi/p/7772812.html第三步骤 假定其中一个是id_rsa, 另一个时id_rsa_two ...

  6. Windows下Git多账号ssh-key(复制自己用)

    Windows下Git多账号配置,同一电脑多个ssh-key的管理 这一篇文章是对上一篇文章<Git-TortoiseGit完整配置流程>的拓展,所以需要对上一篇文章有所了解,当然直接往下 ...

  7. Windows下配置Git多账号github码云

    Windows下配置Git多账号github码云 1.配置了全局用户名和邮箱 $ git config --global user.email "你的邮箱" $ git confi ...

  8. git多账号登录问题

    作者:白狼 出处:http://www.manks.top/git-multiply-accounts.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文 ...

  9. Git安装与配置

    一.简介 Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的 ...

随机推荐

  1. File 删除给定的文件或目录

    package seday03; import java.io.File; /*** 创建一个多级目录* @author xingsir*/public class MkDirsDemo { publ ...

  2. C#程序员在老项目中用到VB遇到的一次坑

    博主自认为C#基础还不错.但是最近接到一个需求,是用VB写的.万般不愿意,不想接触VB,并不是说VB语言不好,而是我真的不喜欢VB.因为没基础过VB,领导派给的任务,有这个需求,不愿意归不愿意,领导给 ...

  3. centos7下编译安装python3.7,且与python2.7.5共存

    环境:Centos7.6 x64 一.安装python3.7 下载python源码包: wget https://www.python.org/ftp/python/3.7.4/Python-3.7. ...

  4. Jquery选择器个人总结

    1.选择第一级子节点 通过> 或者children方法实现 $('#XtraTabPage8>.datagrid-ftable') $('#XtraTabPage8').children( ...

  5. Android O的通知渠道适配

     在 Android O 以后,Google引入了通知通道的概念,如果目标API大于 Android O ,不直指定通知渠道是不能发送通知的. 这里放一个我写好的通知方法,大家可以适当的改改再用,*当 ...

  6. MySQL 部署分布式架构 MyCAT (五)

    分片(水平拆分) 4.全局表 业务使用场景: 如果你的业务中有些数据类似于数据字典,比如配置文件的配置, 常用业务的配置或者数据量不大很少变动的表,这些表往往不是特别大, 而且大部分的业务场景都会用到 ...

  7. Asp.Net Core 开发之旅之.net core 连接数据库

    数据库连接字符串放入配置文件中 打开appsettings.json 添加ConnectionStrings 例子如下: { "Logging": { "IncludeS ...

  8. docker卷管理(四)

    什么是数据卷 overlay2存储卷 docker镜像是由多个只读层叠加而成,启动容器时,docker会加载只读镜像层,并在镜像栈顶部添加一个可写层 如果运行中的容器修改了现有的一个已存在文件,那该文 ...

  9. RSA 登陆加密与解密

    最近公司项目验收后,客户请来的信息安全技术人员对我们的网站进行了各种安全测试与排查问题,其中就有一个登陆时的加密问题.本来如果只是单纯的加密,可以直接在前台用MD5加密,将加密的值添加到数据库即可.但 ...

  10. driver.find_element_by_xpath() 带参数时的写法

    假设要定位如下所示的 Elements,且文本 “1234567890” 对应参数 cluster_name: <td  class="xxxx-body">12345 ...