在一台电脑上配置多个不同的 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. Java技巧——比较两个日期相差的天数

    Java技巧——比较两个日期相差的天数 摘要:本文主要记录了在Java里面如何判断两个日期相差的天数. 判断两个Date类型的日期之间的天数 通过计算毫秒数判断: public static void ...

  2. kali linux查看局域网下所有IP,并对指定IP实施局域网内攻击(断网,随时查看对方密码,上网痕迹等)

    首先我们打开我们熟悉的kali linux操作系统,利用指令: ifconfig 来确认本机的ip地址 确认了本机的ip地址之后,利用一下的指令查看局域网下所有ip: fping -g 本机IP地址/ ...

  3. Android Studio compile error ---- enum constant INSTANT_RUN_REPLACEMENT does not

    原文:http://stackoverflow.com/questions/34868876/android-studio-compile-error-enum-constant-instant-ru ...

  4. C# 运行时的关系

    简介 记录c#对象在托管堆中运行时的相互关系,如下记录了一个方法在执行时候的生命周期,当方法在之前,CLR会先执行将方法里面所有用到的局部变量.参数对应的内存地址等全部存放当前线程栈当中,并且会将所有 ...

  5. SpringBoot+Thyemelaf开发环境正常,打包jar发到服务器就报错Template might not exist or might not be accessible

    这里说一下Thyemelaf的巨坑 写了一个SpringBoot+Thyemelaf的项目,并不是前后端分离.今天想放到linux服务器上玩玩,打成jar包,然后一运行他妈居然报错了,报了一个Temp ...

  6. [b0033] python 归纳 (十八)_队列Queue在多线程中使用(二)

    # -*- coding: UTF-8 -*- """ 多线程同时读队列 使用 join(), task_done() 逻辑: 3个子线程并发 从有6个数据的队列中取数据 ...

  7. [b0001] 伪分布式 hadoop 2.6.4

    说明: 任务:搭建Hadoop伪分布式版本. 目的:快速搭建一个学习环境,跳过这一环境,快速进入状态,使用Hadoop一些组件做些任务 没有选择2.7,觉得bug比较多,不稳定. 选择伪分布式简单快速 ...

  8. excel工资表,转化为word工资单

    1.新建excel表,.xls格式; .xlsx格式的添加到word中会报错‘无法打开数据源’(office 2007): 2.新建word文档.docx格式: 3.邮件——开始邮件合并——信函,选择 ...

  9. day46_9_5前端(3)

    一.调节长宽. 在css中可以对块级标签设置长和宽,但是对行内标签无效,其属性如下: 1.height:80px 高度. 2.width:80px 宽度. 二.字体属性. 设置一个标签中的字体.比如黑 ...

  10. optimizer.zero_grad()

    # zero the parameter gradients optimizer.zero_grad() # forward + backward + optimize outputs = net(i ...