Git多平台/多账号配置
有时候需要在一台电脑使用多个git平台(Gitee、GitHub、Gitlab...)或者一个平台多个不同账号,比如想同时配置公司git和个人的git,提交代码时提交到对应的平台/账号的代码仓库且互不影响。这时候需要配置不同的SSH key。
1. 生成SSH key
- 默认情况下,用户的 SSH 密钥存储在其
~/.ssh
目录下。 进入该目录并列出其中内容,你便可以快速确认自己是否已拥有密钥:
$ cd ~/.ssh
$ ls
authorized_keys2 id_dsa known_hosts
config id_dsa.pub
- 该目录中一般有一对以
id_dsa
或id_rsa
命名的文件,其中一个带有.pub
扩展名。.pub
文件是你的公钥,另一个则是与之对应的私钥。 如果找不到这样的文件(或者根本没有.ssh
目录),你可以通过运行ssh-keygen
程序来创建它们。
$ ssh-keygen -t rsa -C "xxx@xxx.com" -f ~/.ssh/id_rsa_github
-t 指定密钥类型,默认是 rsa ,可以省略。
-C 设置密钥注释,如邮箱。
-f 设置密钥文件的文件名。
注意:如果多次生成私钥公钥则需要重新命名,否则会覆盖之前的同名密钥文件。
2. 配置公钥到远端git
以GitHub为例:
- 点击右上角头像,选择下拉菜单中的Settings
- 找到SSH and GPG keys
- New SSH key,输入一个标题,把本地的公钥
.pub
文件内容全选复制粘贴到文本框里
3. 配置config文件
- 在
~/.ssh
目录下,如果没有config文件可以通过touch ~/.ssh/config
指令创建config文件,如果有则直接编辑这个文件:
$ touch ~/.ssh/config
- 修改config文件的内容,配置完以后,github的仓库会使用
~/.ssh/id_rsa_lpk_github
密钥进行验证,gitee会使用~/.ssh/id_rsa_lpk_gitee
密钥进行验证。
# github
Host github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_lpk_github
User lpk
# gitee
Host gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_lpk_gitee
User lpk
文件参数:
Host
:主机名
User
:指定登录的用户名,默认为git
HostName
:指定要登录的真实主机名
PreferredAuthentications
:指定客户端尝试身份验证方法的顺序
IdentityFile
:指定使用的密钥文件
其他参数配置详见 点击这里
4. 测试连接
- 执行以下指令测试能否成功连接
$ ssh -T git@github.com
- 出现以下结果表示连接成功
至此,配置完毕,可以提交代码到不同平台了
Git多平台/多账号配置的更多相关文章
- 【亲测可用,亦可配置同一平台的不同账号,例如阿里云的两个不同账号】Windows下Git多账号配置,同一电脑多个ssh-key的管理
Windows下Git多账号配置,同一电脑多个ssh-key的管理 这一篇文章是对上一篇文章<Git-TortoiseGit完整配置流程>的拓展,所以需要对上一篇文章有所了解,当然直接 ...
- git多账号配置,同时使用多个代码托管平台
git多账号配置,同时使用多个代码托管平台:https://blog.csdn.net/pinnuli/article/details/81293071
- 一台电脑,两个及多个git账号配置
1. 生成两[三]个ssh公钥私钥 方法参照:http://www.cnblogs.com/fanbi/p/7772812.html第三步骤 假定其中一个是id_rsa, 另一个时id_rsa_two ...
- Git多账号配置
在一台电脑上配置多个不同的 ssh key 前言 如果拥有多个Git远程仓库,尤其是其中一个是工作中使用的仓库,只使用一个ssh key安全性很低,建议为不同Git远程仓库配置不同的ssh key. ...
- [转]git在eclipse中的配置
一_安装EGIT插件 http://download.eclipse.org/egit/updates/ 或者使用Eclipse Marketplace,搜索EGit 二_使用EGIT前的配置 配置个 ...
- git的安装和环境配置过程(学习笔记)
1.安装git 官网下载:https://github.com(目前官网好像找不到了,但是妙味的视频里面是在官网下载的)https://git-for-windows.github.io/ (廖雪峰老 ...
- Disconf 分布式配置管理平台(安装配置)
Disconf 分布式配置管理平台(安装配置) 依赖环境 Nginx:处理静态资源请求.动态请求转发到Tomcat Tomcat:处理Nginx的请求 Redis:用户session管理 MySQL: ...
- caffe学习(1):多平台下安装配置caffe
如何在 centos 7.3 上安装 caffe 深度学习工具 有好多朋友在安装 caffe 时遇到不少问题.(看文章的朋友希望关心一下我的创业项目趣智思成) 今天测试并整理一下安装过程.我是在阿 ...
- Git详解之特殊配置与钩子应用
前言 到目前为止,我阐述了 Git 基本的运作机制和使用方式,介绍了 Git 提供的许多工具来帮助你简单且有效地使用它. 在本章,我将会介绍 Git 的一些重要的配置方法和钩子机制以满足自定义的要求. ...
- 【转】git在eclipse中的配置
原文网址:http://www.cnblogs.com/zhxiaomiao/archive/2013/05/16/3081148.html 一_安装EGIT插件 http://download.ec ...
随机推荐
- api进阶Day3使用文件流对文件进行复制、使用块读写一组字节,使用byte数组提高读写的效率、返回当前时间。
使用文件流对文件进行复制: package io; import java.io.FileInputStream; import java.io.FileNotFoundException; impo ...
- python for houdini——python在houdini中的基础应用02
内容来源于网上视频 一.houdini python编译器 1.python shell 2.python source editor----代码可以随场景保存 构造的函数可以在外部通过hou.ses ...
- HTML和xml
[html和xml的相同点] html和xml 都是标记语言,都是基于文本编辑和修改的. 都是用于操作系统或数据结构,结构上大致相同. 都可以通过DOM 变成方式来访问. 都可以通过CSS来改变外观 ...
- Audition导入视频文件出现错误
错误: We were unable to open this file using any of the currently available importers. If you would li ...
- C#获取本地所有打印机名称
引用:using System.Drawing.Printing; 实现代码: List<string> PrintS = new List<string>(); foreac ...
- 使用Eclipse快速开发jsp和.编码问题、JSP页面元素以及request对象
在IDEA中创建的Web项目: 浏览器可以直接访问WebContent中的文件. 例如http:// localhost:8888/MyJspProject/index1.jsp其中的index1.j ...
- .net core 版本避坑 无法打开项目文件。 无法找到 .NET SDK。请检查确保已安装此项且 global.json 中指定的版本(如有)与所安装的版本相匹配。
打开项目根目录,输入 dotnet --version ,查看本机安装的最高版本的sdk: 如果源文件中存在global.json文件,直接打开修改即可: 不存在则接着在1步骤后输入: dotnet ...
- 10.Java中Map的entrySet() 详解以及用法
一.Map.entry是什么? Map是java中的接口,Map.Entry是Map的一个内部接口. 此接口为泛型,定义为Entry<K,V>.它表示Map中的一个实体(一个key-val ...
- Git在使用过程中遇到的一些问题
git默认对文件中的大小写不敏感. 方案1: 通过配置git来达到识别文件大小写的问题.命令如下: git config core.ignorcecase false 缺点:每个仓库都需要修改. 方案 ...
- mongodb定时备份
1. https://www.jianshu.com/p/a9352e28e2d6 (未测试) 通过centos 脚步来执行备份操作,使用crontab实现定时功能,并删除指定天数前的备份 具体操 ...